我有以下模型,我需要获得一个没有字段名称的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)
总是给[]
)
数据库包含与查询匹配的数据。有人可以帮我弄清楚为什么这不起作用?
答案 0 :(得分:1)
您应pluck
whereIn
之后使用$district_arr = DB::table('districts')->whereIn('province_id', $province_arr)
->pluck('id')->toArray();
:
pluck
因为whereIn
在这里是从数据库获取数据的方法。如果从数据库获取后添加条件,则无法获得预期的结果。
否则,您从数据库获取数据,然后在Support Collection上运行province_id
并且没有id
的记录,因为所有记录都只有pluck
,如您在<html>
<head><title>lol1</title></head>
<body>
<form action="lol2.html">
<input type="text" name ="firstname" placeholder="First Name">
<input type="text" name="lastname" placeholder="Last Name">
<input type="Submit" value="Submit" >
</form>
</body>
</html>