这是我的路线
Route::get('add-members/{id}','MemberController@create');
Route::post('save-member/{id}','MemberController@store');
这是我显示创建表单的代码
public function create($id)
{
$team=Team::find($id);
$users = User::doesntHave('teams')->whereHas('roles', function($role) {
$role->where('name', 'member');
})->get();
return view('members.create',compact('users','team'));
}
这是我存储它的代码
public function store(Request $request,$id)
{
$team=Team::find($id);
dd($request->id);
$team->users()->attach($request->id);
return redirect('home');
这是我的刀片文件
@extends('layouts.app')
@section('content')
<form action="{{url('save-member',$team->id)}}" method="post" accept-charset="utf-8">
@csrf
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Select Member/s') }}</label>
<div class="col-md-6">
@foreach($users as $key => $user)
<input type="checkbox" name="id[]" value="{{$user->id}}">{{$user->email}}<br>
@endforeach
@error('member_id')
<span class="invalid-feedback" role="alert"><strong><font
color="red">{{ $message }}</font></strong></span>
@enderror
</div>
</div>
<button type="submit" class="btn btn-primary">Save</button>
</form>
@endsection
现在,当我不选择任何用户并单击保存按钮时,它会将用户 ID 保存为 1。在我执行 dd($request->id) 后,它将显示输出 1。但在我的表单中没有用户离开了,或者我的表单是空的。所以 1 来自哪里。您可以查看此图片以进行清除。请帮我解决这个问题
您应该更具体地说明您从以下方面请求的数据Request
:
$request->id; // could be an input named 'id' or a route parameter named 'id'
$request->input('id'); // is an input
$request->route('id'); // is a route parameter
您遇到的情况是,您有一个名为 的路由参数,id
并且可能有一个名为的输入id
。使用请求的动态属性$request->id
, 将返回输入(id
如果存在),如果不存在,则回退到返回名为 的路由参数id
。
这是过去的一篇文章,它显示了没有具体说明您试图从Request
对象中获取什么的问题:asklagbox - 博客 - 注意请求
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句