php - 更新数据透视表laravel 5中的数据
问题描述
我有一个多对多的关系和一个数据透视表,现在我想用用户发送的表单更新数据透视表数据。例如,将客户分配给卖方。这是我的代码:在路线中:
Route::get('admin/client/assign','ClientController@assignsellman');
控制器 :
public function assignsellman(Request $request){
$user = User::all();
$client_list = Client::all();
$client = Client::with('sellmanlist')->firstOrFail();
$sellman = $request->input('sellman');
$client->sellmanlist()->attach($sellman);
return view('admin.client.assign',compact('client_list','user'));
}
最后是视图文件的形式,我想获得 2 个变量,一个是客户的 id,第二个是卖人的 id
<form action="/admin/client/" method="post">
<input type="hidden" name="_method" value="PUT">
{{ csrf_field() }}
<div class="row">
<div class="col-xs-4">
<div class="form-group">
<label for="client">مشتری</label>
<select class="select-search select2-hidden-accessible" tabindex="-1" aria-hidden="true"
name="client">
@foreach($client_list as $client_lists)
<option value="">{{$client_lists->title}}</option>
@endforeach
</select>
</div>
</div>
<div class="col-xs-4 text-center">
<i class="icon-arrow-left7 mr-3 icon-3x" style="font-size: 130px"></i>
<h4>ارجاع به</h4>
</div>
<div class="col-xs-4">
<div class="form-group">
<div class="form-group">
<label for="sellman">کارشناس فروش</label>
<select class="select-search select2-hidden-accessible" tabindex="-1"
aria-hidden="true" name="sellman">
@foreach($user as $users)
<option value="1">{{$users->name}}</option>
@endforeach
</select>
</div>
</div>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<button type="submit" class="btn btn-primary">تایید</button>
</form>
使用此代码,我收到此错误
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message
感谢帮助
解决方案
那是因为您创建的路由是 HTTP GET,并且在您的表单中您使用的是 HTTP Post。
<form action="/admin/client/" method="post">
尝试切换到 GET 方法,它应该可以工作
<form action="/admin/client/" method="get">
或将您的路线切换到
Route::post('admin/client/assign','ClientController@assignsellman');
请查看不同的 HTTP 动词并将它们应用于您的需求。
推荐阅读
- sql - SQL 两个 JOINS 同一张表不同的值
- anylogic - ResourceTaskStart 独立
- powerbi - 将 Snowflake 连接到 Power BI 期间发生错误
- flutter - Dart - 重用 Flutter 小部件有时包含错误的数据
- azure-devops - 有条件地复制 Azure Pipeline 中的文件夹
- javascript - 如何从 JS 中的 HTML 标签元素中仅获取文本节点的内容(不是嵌套标签)?
- python - 来自 Python 的命名变量,用于没有临时文件的 Bash 源代码
- python - python函数中的并行嵌套for循环
- laravel - 带有身份验证的 Laravel Passport (Api) (Google、Facebook)
- dynamics-crm - Dynamics CRM 365 销售和业务中心集成