>我有下面的模型,我需要获取一个没有字段名称的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