当前位置: 首页 > news >正文

supabase外键查询语句

官网查询语句大全https://supabase.com/docs/reference/javascript/is

“Querying Joins and Nested tables” 页面:
https://supabase.com/docs/guides/database/joins-and-nesting“JavaScript: Fetch data / Query referenced tables” 子节:
https://supabase.com/docs/reference/javascript/select(参考 “Query referenced tables” 示例)Using filters (JavaScript) – Supabase Docshttps://supabase.com/docs/reference/javascript/filter过滤语句
https://supabase.com/docs/reference/javascript/or

下面2段查询语句效果一样,!wp_postmeta_post_id_fkey似乎并不重要。因为supabase会自动寻找外键。但一切的前提是需要先去数据库创建外键

import { createClient } from "@/lib/supabase/client";const supabase = await createClient();const { data, error } = await supabase.from('wp_posts').select(`id,post_title,post_date,metassss:wp_postmeta(meta_key,meta_value)`).eq('post_status', 'publish').eq('wp_postmeta.meta_key', 'thumbnail') // 如果不写,则会查询出所有meta_key.order('post_date', { ascending: false }).limit(10);
  const { data, error } = await supabase.from('wp_posts').select(`id,post_title,post_date,metassss:wp_postmeta!wp_postmeta_post_id_fkey(meta_key,meta_value)`).eq('post_status', 'publish') // 主表筛选.order('post_date', { ascending: false }).limit(10);

2次外键嵌套查询

  const { data, error } = await supabase.from('wp_posts').select(`id,post_title,post_date,metassss:wp_postmeta!wp_postmeta_post_id_fkey(meta_value,termgggg:testuid!testuid_wai_fkey(book))`).eq('post_type', 'post').order('post_date', { ascending: false }).limit(10);

关键语法规则

  • 关联格式:关联别名:关联表名!外键名(字段列表)! 是关联符)
  • 外键名:需在 Supabase 控制台确认表间外键(如 wp_posts_id_fkey
  • 筛选优先级:主表筛选用 .eq() 直接跟在 from 后,关联表筛选需指定别名(如 metas.meta_key

在 Supabase 中(如果你把 WordPress 数据迁移进 PostgreSQL),
你同样可以建立如下外键

ALTER TABLE hghghg.wp_term_taxonomy
ADD CONSTRAINT fk_term_tax_term
FOREIGN KEY (term_id) REFERENCES hghghg.wp_terms(term_id);ALTER TABLE hghghg.wp_term_relationships
ADD CONSTRAINT fk_term_rel_tax
FOREIGN KEY (term_taxonomy_id) REFERENCES hghghg.wp_term_taxonomy(term_taxonomy_id);ALTER TABLE hghghg.wp_term_relationships
ADD CONSTRAINT fk_term_rel_post
FOREIGN KEY (object_id) REFERENCES wp_posts(id);

这样,你就可以使用 Supabase 的嵌套查询语法:

const { data } = await supabase.from('wp_posts').select(`ID,post_title,categories:wp_term_relationships(wp_term_taxonomy(wp_terms(name)))`).eq('post_status', 'publish');

下面的语句删除一个eq,并添加taxonomy字段,可使前端看起来更清晰

  const { data, error } = await supabase.from('wp_posts').select(`id,post_title,categories:wp_term_relationships(wp_term_taxonomy(taxonomy,wp_terms(name)))`).eq('post_status', 'publish')//.eq('wp_term_relationships.wp_term_taxonomy.taxonomy', 'post_tag').limit(3);

查询所有分类及文章数

  const { data, error } = await supabase.from('wp_term_taxonomy').select(`term_taxonomy_id,taxonomy,description,count,term:wp_terms(term_id, name, slug)`).eq('taxonomy', 'category').order('count', { ascending: true });

http://www.dtcms.com/a/576988.html

相关文章:

  • 【linux端cursor CLI常用命令】
  • 表的增删改查
  • Git 工作区、暂存区和版本库
  • MIT-矩阵链相乘
  • Go语言实战:入门篇-5:函数、服务接口和Swagger UI
  • 国产化Excel处理控件Spire.XLS教程:使用Java将CSV转换为PDF(含格式设置)
  • 【Hot100|3 LeetCode 128. 最长连续序列】
  • 一键搭建 Coze 智能体对话页面:支持流式输出 + 图片直显,开发效率拉满!
  • 十大免费ae模板网站短视频素材下载网站
  • 那里做直播网站网页打不开是什么问题
  • 论文分享 | AirRoom:物体是关键!革新室内房间重识别的新范式
  • 游戏 IPA 如何防修改,面向开发者的多工具实战(IPA 加固/无源码混淆/Ipa Guard CLI)
  • 从0到1做一个“字母拼词”Unity小游戏(含源码/GIF)- 项目的创建及准备
  • 在扣子上搭建测试用例自动编写智能体
  • 2023年第二十届五一数学建模竞赛-A题 无人机定点投放问题-基于抛体运动的无人机定点投放问题研究
  • 影刀RPA一键生成销售日报!AI智能分析,效率提升1000%[特殊字符]
  • Rust开发实战之密码学基础——哈希计算与对称加密实战
  • 技术解析:清洗无人机在高空清洁中的应用与优势
  • Linux LVM NAT 模式部署实践
  • 使用 DVC(Data Version Control)进行数据版本管理
  • 网站建设选择哪种开发语言最好从哪里下载wordpress
  • 微服务之网关(Spring Cloud Gateway)
  • ES脚本语言Painless介绍
  • 基于MATLAB的雨流计数法疲劳计算GUI可视化系统
  • WiFi 协议精读:IEEE 802.11-2012,IEEE Std 802.11w™-2009: Protected Management Frames
  • RabbitMQ-Exporter 监控 TLS 加密的 RabbitMQ 集群
  • 重庆佳宇建设集团网站重庆网站自己推广
  • 品牌营销策划网站wordpress 会员开卡消费
  • iOS修改tabbar的背景图
  • 《uni-app跨平台开发完全指南》- 04 - 页面布局与样式基础