Php 将原始复杂SQL查询转换为雄辩的
有人能帮我把这个翻译成雄辩的句子吗Php 将原始复杂SQL查询转换为雄辩的,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,有人能帮我把这个翻译成雄辩的句子吗 select * from resources left join links on links.resource_id = resources.id and (links.ud_id IS NULL OR links.ud_id = '7') where resources.user_id = '1' and resources.subject_id = '4' 提前谢谢你这应该可以做到: DB::table('r
select * from resources
left join links
on links.resource_id = resources.id
and (links.ud_id IS NULL OR links.ud_id = '7')
where resources.user_id = '1'
and resources.subject_id = '4'
提前谢谢你这应该可以做到:
DB::table('resources')
->leftJoin('links', function($join) {
$join->on('links.resource_id', '=', 'resources.id');
$join->where(function($query) {
$query->whereNull('links.ud_id');
$query->orWhere('links.ud_id', '=', 7);
});
})
->where('user_id', 1)
->where('subject_id', 4)
->get();
这应该可以做到:
DB::table('resources')
->leftJoin('links', function($join) {
$join->on('links.resource_id', '=', 'resources.id');
$join->where(function($query) {
$query->whereNull('links.ud_id');
$query->orWhere('links.ud_id', '=', 7);
});
})
->where('user_id', 1)
->where('subject_id', 4)
->get();
完美的只是一个已经整理好的小细节。我不得不将它改为orWhere('links.ud_id',7)。我认为两者都是等价的,但显然不是在这种情况下。太棒了,杰德泽伊!完美的只是一个已经整理好的小细节。我不得不将它改为orWhere('links.ud_id',7)。我认为两者都是等价的,但显然不是在这种情况下。太棒了,杰德泽伊!