mysql - Laravel 雄辩的双连接返回空
问题描述
我有一个 laravel 雄辩的数据库查询,我想根据链式连接返回结果。
$replies = DB::table('model_replies')
->join('support_tickets', function($join){
$join->on('model_replies.model_id', '=', 'support_tickets.id');
$join->where('model_replies.model', '=', DB::raw('"SupportTicket"'));
})
->join('produce_requests', function($join){
$join->on('model_replies.model_id', '=', 'produce_requests.id');
$join->where('model_replies.model', '=', DB::raw('"ProduceRequest"'));
})
->get();
我按照此处文档中的示例进行操作。
问题是当我按照此处的建议链接连接语句时,我的查询没有给出任何结果。
单个连接工作得很好。但我需要能够链接其中的几个。
我可能做错了什么?
谢谢!
解决方案
如果我理解正确的话。你想为support_tickets
那些model_replies
model_replies.model = SupportTicket
DB::table('model_replies')
->leftJoin('support_tickets', function($join){
$join->on('model_replies.model_id', '=', 'support_tickets.id');
$join->on('model_replies.model', '=', DB::raw('"SupportTicket"'));
})
->leftJoin('produce_requests', function($join){
$join->on('model_replies.model_id', '=', 'produce_requests.id');
$join->where('model_replies.model', '=', DB::raw('"ProduceRequest"'));
})
->get();
推荐阅读
- python - Pandas `to_sql` 通过`if_exists = 'append' 给出`Table already exists` 错误
- z3 - Z3 Python 从解决方案中排除跟踪器变量
- javascript - 播放多个视频,例如 tiktok?
- angular - Angular 代理绕过拦截所有请求,无论路径如何
- docker - 如何从 docker 中的 docker 创建的容器访问 HTTP 代理
- react-native - React Native中如何实现圆角上背景组件?
- ms-access - 需要计算报告中的特定值
- coldfusion - Coldfusion 2021 中的 SSO 是标准功能还是企业专用功能?
- azure - Azure/Databricks - 摄取数据的最佳方式?
- python - 如何输入整数?