Laravel查询生成器,其中不包含';行不通

Laravel查询生成器,其中不包含';行不通,laravel,laravel-5,laravel-5.6,laravel-query-builder,laravel-collection,Laravel,Laravel 5,Laravel 5.6,Laravel Query Builder,Laravel Collection,我有以下模型,我需要获得一个不带字段名的district\u id数组。(比如,[1,2,3,4]) 省[id,描述] District[id,description,province\u id] $province_arr = DB::table('provinces')->pluck('id')->toArray(); $district_arr = DB::table('districts')->pluck('id') ->whereIn('provin

我有以下模型,我需要获得一个不带字段名的
district\u id
数组。(比如,
[1,2,3,4]

省[id,描述]

District[id,description,province\u id]

$province_arr = DB::table('provinces')->pluck('id')->toArray();

$district_arr = DB::table('districts')->pluck('id')
     ->whereIn('province_id', $province_arr)->toArray();
但是,
$district\u arr
始终为空。(即,
dd($district\u arr)
始终给出
[]


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

你应该在
之后使用
pull
,其中
如下:

$district_arr = DB::table('districts')->whereIn('province_id', $province_arr)
    ->pluck('id')->toArray();
因为这里是从数据库获取数据的方法。若您在从数据库获取后添加了条件,那个么您并没有得到预期的结果


否则,您将从数据库中获取数据,然后运行
其中
打开,并且没有
省id
的记录,因为所有记录都只有
id
,正如您在
Pull
中指定的那样。您应该在
其中
之后使用
Pull
,如下所示:

$district_arr = DB::table('districts')->whereIn('province_id', $province_arr)
    ->pluck('id')->toArray();
因为这里是从数据库获取数据的方法。若您在从数据库获取后添加了条件,那个么您并没有得到预期的结果


否则,您将从数据库中获取数据,然后运行
,其中
处于启用状态,并且没有带
省id的记录
,因为所有记录都只有
id
,如您在
Pull

中指定的,非常感谢。我花了几个小时想弄明白为什么它不起作用。但我看不出这个错误。再次感谢你,不客气。很容易想念它,非常感谢你。我花了几个小时想弄明白为什么它不起作用。但我看不出这个错误。再次感谢你,不客气。很容易错过