我正在使用laravel5.6中的elokent来解决以下问题。
我需要退回所有有问题的问题 tag_id
的 5
分配给他们的 project_id
以及 item_id
从问题表中匹配 project_id
以及 issue_id
从我的透视表。
问题表:
数据透视表的问题:
我尝试了下面的代码,但是它返回了issue表中的所有问题,但是期望是3个结果。
预期结果
结果从 issues
表应为id 1、4和5。
$issues = Issue::join('issues_tags', 'issues_tags.project_id', 'issues_tags.issue_id')->where('issues_tags.tag_id', 5)->select('issues.*')->get();
1条答案
按热度按时间kuhbmx9i1#
您需要指定issues表,而不是join上的issues\u标记。左连接也有助于减少结果。既然你用两个不同的键连接,你就得用闭包。
如果表确实应该在project\u id->project\u id和issues.id->issues\u tags.issues\u id上匹配,那么可以修改第二个join子句。