【发布时间】:2021-06-25 03:34:11
【问题描述】:
我有一个这样的数组
array:3 [▼
0 => "05046"
1 => "05005"
2 => "05030"
]
我想根据上面数组中的 id 显示位置(id 是 05046,05005,05030。如何在下面的控制器中应用它?
实际上我想使用 where in 查询类似的内容。当我手动输入 id 时,它可以工作。
$location= Location::whereIn('id',['05046','05005','05030'])->get();
但是,由于我得到的 id 在数组中,如何在控制器中应用它?
$location= Location::whereIn('id',[$val])->get();
我尝试使用 $val 但在刀片中的选择选项中,该位置仅显示最新的 id(第 2 号数组) $val 当 dd($val) 显示时
array:3 [▼
0 => "05046"
1 => "05005"
2 => "05030"
]
刀片
<select class="select" name="loc" id="loc" required="">
@foreach ($location as $loc)
<option value="{{$loc->id}}">{{$loc->name}}</option>
@endforeach
</select>
【问题讨论】:
-
Location::whereIn('id',[05046,05005,05030])->get();仅获得 1 条记录(数组 2)? -
Location::whereIn('id',[05046,05005,05030])->get();这样可以显示所有,但是当使用 $val 时,它只显示 1 个 id
-
告诉我,这 2 个查询的结果是否相同?
Location::whereIn('id',[05046,05005,05030])->get();和Location::whereIn('id',["05046","05005","05030"])->get(); -
啊抱歉,在我的示例中,忘记添加引号 ('),我实际上使用了我的代码 Location::whereIn('id',["05046","05005","05030 "]) 带引号