我有三个与articles相关的表,我需要使用我拥有的staff_id从它们获取article_id。
我目前正在使用这三个查询。
$rejects = DB::table('rejected')->where('staff_id', $staff_id)->pluck('article_id');
$missed = DB::table('missed')->where('staff_id', $staff_id)->pluck('article_id');
$flagged = DB::table('flagged')->where('staff_id', $staff_id)->pluck('article_id');然后将它们合并
$rejects = $rejects->toArray();
$missed = $missed->toArray();
$flagged = $flagged->toArray();
$all = array_merge($rejects, $missed, $flagged);在生产中,我的数据库将在不同的服务器上,所以我试图减少查询的数量。如何仅使用一个数据库查询即可获得此结果。
发布于 2017-10-16 14:37:19
使用Laravel的公式。它真的非常有用。它将把查询的数量减少到惊人的长度,而且不用担心后端数据库引擎。参考:https://laravel.com/docs/5.5/eloquent
https://stackoverflow.com/questions/46763598
复制相似问题