【发布时间】:2021-09-08 09:02:35
【问题描述】:
我有 2 个多值选择列表,我使用 jquery 在它们之间传递用户。
<select multiple="multiple" id="ListAllUsers" class="form-control">
@foreach ($users as $user)
<option class="content" value="{{ $user->id }}">{{ $user->name }}</option>
@endforeach
</select>
<select name="user_id[]" required multiple="multiple" id="SelectedUsers" class="form-control">
@if (!empty(old('user_id')) && $create_form)
@foreach ($old_value_users as $old_user)
<option class="content" value="{{ $old_user->id }}">{{ $old_user->name }}</option>
@endforeach
@endif
</select>
现在,我的问题是,当我在 whereIn 查询中传递 old('user_id') 值时,我只得到数组的第一个结果,而不是传入的所有结果。
$old_users_id = [old('user_id')];
$old_value_users = User::whereIn('id', $old_users_id)->get();
如果我用$old_users_id = [1,2,3], 替换$old_users_id = [old('user_id')],它就像一个魅力。我有dd(old('user_id')),它确实是一个数组,所以我不明白什么是打嗝!
【问题讨论】:
-
你能把
dd(old('user_id'))的数据也加在这里吗 -
[[“3”、“4”、“5”、“6”、“7”、“9”、“10”、“12”]]
-
这只是选项中用户 id 值的数组。
-
它不是一个数组。它是一个数组或数组。看到有 [[]] 。您需要在打开右括号时删除
-
应该是这样的
[ "3", "4", "5", "6", "7", "9", "10", "12" ]