2016-07-27 75 views
1

我的数据库技能不是最好的,我正在寻找在Laravel中构建查询的帮助。Laravel雄辩的查询喜欢哪里关系?

我有一个表A和表B,表A有一个字段引用表B中的字段

所以我可以做$tableA->tableB->title

我要的是一样的东西$tableA->tableB->where('title', 'LIKE', $query)->get()

我想要什么要做的是做一个WHERE LIKE并返回表A的结果,但要在表B中的特定列中搜索(本例中该列是标题)。

我该怎么做呢?

感谢

+0

请出示你的代码。没有人在这里为你写代码。 – ketchupisred

回答

4

请尝试这种方式,

$posts = ModelA::whereHas('modelb', function ($query) { 
     $query->where('title', 'like', 'foo%'); 
    })->get(); 
+0

有没有办法将这个链接到多个whereHas? – Farveaz

+1

是的,你可以链多个whereHas,请注意,如果你正在使用父母的相关模型的相关模型,在这种情况下,modelb,那么你将使用点符号.. –