我的数据库技能不是最好的,我正在寻找在Laravel中构建查询的帮助。Laravel雄辩的查询喜欢哪里关系?
我有一个表A和表B,表A有一个字段引用表B中的字段
所以我可以做$tableA->tableB->title
我要的是一样的东西$tableA->tableB->where('title', 'LIKE', $query)->get()
我想要什么要做的是做一个WHERE LIKE
并返回表A的结果,但要在表B中的特定列中搜索(本例中该列是标题)。
我该怎么做呢?
感谢
我的数据库技能不是最好的,我正在寻找在Laravel中构建查询的帮助。Laravel雄辩的查询喜欢哪里关系?
我有一个表A和表B,表A有一个字段引用表B中的字段
所以我可以做$tableA->tableB->title
我要的是一样的东西$tableA->tableB->where('title', 'LIKE', $query)->get()
我想要什么要做的是做一个WHERE LIKE
并返回表A的结果,但要在表B中的特定列中搜索(本例中该列是标题)。
我该怎么做呢?
感谢
请尝试这种方式,
$posts = ModelA::whereHas('modelb', function ($query) {
$query->where('title', 'like', 'foo%');
})->get();
有没有办法将这个链接到多个whereHas? – Farveaz
是的,你可以链多个whereHas,请注意,如果你正在使用父母的相关模型的相关模型,在这种情况下,modelb,那么你将使用点符号.. –
请出示你的代码。没有人在这里为你写代码。 – ketchupisred