Laravel查询生成器,其中In不起作用



>我有下面的模型,我需要获取一个没有字段名称的district_id数组。(如,[1, 2, 3, 4](

Province [id, description]

District [id, description, province_id]

$province_arr = DB::table('provinces')->pluck('id')->toArray();
$district_arr = DB::table('districts')->pluck('id')
->whereIn('province_id', $province_arr)->toArray();

$district_arr总是空的。(即dd($district_arr)总是给[]

(数据库包含与查询匹配的数据。有人可以帮我弄清楚为什么这不起作用吗?

你应该在whereIn之后使用pluck,如下所示:

$district_arr = DB::table('districts')->whereIn('province_id', $province_arr)
->pluck('id')->toArray();

因为pluck这里是从数据库获取数据的方法。如果您在从数据库获取后添加条件,则无法获得预期的结果。

否则,您从数据库中获取数据,然后在支持集合上运行whereIn,并且没有带有province_id的记录,因为它们都只有您在pluck中指定的id

相关内容

  • 没有找到相关文章

最新更新