我有一个multiselect,代码是下面的multiselect在我的刀片。
{{Form::label('server_id', 'Server')}}
<select multiple="multiple" name="server_id[]" id="server_id" class="form-control form-control-md">
@foreach($servers as $key => $name)
<option value="{{$key}}">{{$name}}</option>
@endforeach
</select
我遇到的问题是,我需要将每个选定的值保存在数据库中的不同行中。正如你现在看到的 key
正在被拯救 server_id[]
(由于不支持的操作数类型,现在它在保存时抛出一个错误)
但是我需要将服务器\u id[]中的每个项目保存在它们自己的数据库条目中,以便以后可以方便地引用它们。一个人怎么能这样做呢,我好像搞不懂?
如果您需要我的迁移或控制器,我很乐意添加它们!
edit::表单提交后要存储的控制器
public function store(Request $request)
{
$this->validate($request, [
'server_id' => 'required',
]);
$app = Apps::orderby('created_at','desc')->first();
$app_id = $app->id;
Helpers::storeAppServer($request, $app_id);
return redirect('dashboard')->with('success', 'Application Server Updated');
}
帮手:
public static function storeAppServer(Request $request, $app_id){
$appserver = new AppServer;
$appserver->app_id = $app_id;
$appserver->server_id = $request->input('server_id') + 1;
$appserver->save();
}
1条答案
按热度按时间xsuvu9jc1#
作为
server_id
是多选字段,因此将作为数组发布。在helper函数中可以作为数组处理storeAppServer
. 迭代中的所有值server_id
或者$serverIds
并在数据库中逐一保存。代码: