我正在使用Laravel雄辩并做了左连接。如何限制左连接权表的结果?
但是,我需要一个,两个或三个右表的结果。
我该如何做到这一点?
代码:
$registros = $registros->leftjoin('onetable','onetable.propterty_id', '=', 'second_table.id');
我正在使用Laravel雄辩并做了左连接。如何限制左连接权表的结果?
但是,我需要一个,两个或三个右表的结果。
我该如何做到这一点?
代码:
$registros = $registros->leftjoin('onetable','onetable.propterty_id', '=', 'second_table.id');
我没有测试这一点。但是你可以做同样的事情到这个
$users = DB::table('users')
->select('users.id','users.name as user_name','users.last_name as user_last_name', 'users.email as user_email','users.dob','user_mobile.mobile_number')
->join('user_mobile', function ($join) {
$join->on('users.id', '=', 'user_mobile.user_id')
->where('user_mobile.is_primary',1)
->limit(3);
})
->where('users.is_admin', 0)
->get();
注意:不是作为一个答案。只是一个参考。使用CZ IM一样,但没有
>limit(3);
谢谢,但我的洞查询已经写在雄辩,所以我会通过,但感谢你的时间。 –
如回答@Tim刘易斯,我将使用关系,因为我的查询都写在侃侃而谈。
当涉及到每个父母的n条记录时,它可能不会像设想的那么容易,因为如果你对关系进行限制,它只会返回所有父母的3个孩子,而不是像你期望的那样每个父母3个孩子。我发现这个资源在过去是非常宝贵的... https://softonsofa.com/tweaking-eloquent-relations-how-to-get-n-related-models-per-parent/这有助于解决这个问题 – user3158900
添加完整的代码,以便更好地理解 –
我不确定我关注; 'leftJoin'从任何父表的结果中将'onetable'的列连接到每一行; '极限'并不适用于此。如果您只需要父表中的1,2或3行,只需在基本查询中使用“limit(3)”即可。 –
@TimLewis我需要来自父表的所有结果,并且只需要来自连接表的3个结果。 –