【发布时间】:2013-09-09 14:58:17
【问题描述】:
我知道这看起来很复杂,但我会解释一下。
- 我有 3 个模型,我们称它们为 A、B 和 C。
- 它们都可以通过多对多关系与其他人关联。
我想检查模型 C 是否与任何模型 B 相关,而模型 B 与我的模型相关。
我想通过 Model C 的“名称”列而不是 ID 来检查它。
【问题讨论】:
-
只做一个(内部)连接,看看是否返回任何记录?
-
@NDM:我不太明白,该怎么做。此外,如果在数据透视表上完成内连接,则按 ID 搜索,因此我必须执行另一个查询来获取我的 Model C 的 ID。我想得到具体的答案。
-
SELECT * FROM model_a JOIN model_a.name = model_b.name_of_a;如果返回任何行,则有 A 与 B 有链接 -
@NDM:您还没有阅读整个问题。它是 Laravel 4,所以我想用 Eloquent 风格(如标记)来做这件事,而原始 SELECT deos不适合那里,因为 Eloquent 有 join 方法。它是多对多的,所以它是通过数据透视表完成的,因此没有 model_b.name_of_a
-
检查是否相关是什么意思?你的意思是如果模型 A 有一些模型 B 类型的条目(例如,检查 Post 是否有 Comments ?)
标签: php mysql laravel laravel-4 eloquent