如何将select选项中的数据id和数据值传递给laravel控制器



如何将数据id和数据值从选项列表传递到laravel控制器。

<select class="form-control users" name="users" id="users">
    <option value="" selected="selected">Select Users</option>
    @foreach($users as $user)
        @if($user->type === 'something')
            <option value="{{$user->id}}"
                data-id="{{$user->type_id}}"
                data-value="{{$user->type}}">{{$user->something['name']}}
            </option>
        @endif
        @if($user->type === 'something2')
            <option value="{{$user->id}}"
                data-id="{{$user->type_id}}"
                data-value="{{$user->type}}">{{$user->something2['name']}}
            </option>
        @endif
        @if($user->type === 'something3')
            <option value="{{$user->id}}"
                data-id="{{$user->type_id}}"
                data-value="{{$user->type}}">{{$user->something3['name']}}
            </option>
        @endif
    @endforeach
</select>

我有一个表名A,我想在其中存储数据id和数据值的值,所以我需要将这些值传递到laravel控制器中。我该怎么做。任何帮助都将不胜感激。

您可以通过特殊符号(即-或@或~(拆分值来实现这一点

<option value="{{ $user->id }}-{{ $user->type_id }}-{{ $user->type }}"></option>

当数据提交时

$user = request()->input('users') or Input::get('users') or $_POST['users];
$user_data = explode('-', $user); 

上面的$user_data变量将在0、1和2个键中为您提供受尊重的数据。

所以,

$user_id = $user_data[0];
$type_id = $user_data[1];
$type = $user_data[2];

最新更新