如何传递多个参数(请求 + 2 个另一个参数)



我正在开发一个向我们的客户发送短信的项目。

我正在尝试在我的数据库中创建一个具有雄辩的新行,并且我正在我的函数中传递 3 个参数。

TraitementController.php

public function send_sms_reply(Request $request, Client $client, $id)
{
$validatedData = $request->validate ([
'expediteur' => 'Reponse',
'texte' => 'required|string',
'type' => 2,
'conversation_id' => 'required|numeric',
'client_id' => $client->id,
'user_id' => 'required|numeric',
'statut' => 0,
]);
$sms_cree = Sms::create($validatedData);
[...]
}

网络.php

Route::post('envoyer/sms', 'TraitementController@send_sms_reply')->name('traitements.send_sms_reply');
<form method="post" action="{{ route('traitements.send_sms_reply', $conversation->client, Auth::user()->id) }}">
@csrf
@method('POST')
<select class="form-control" style="margin-bottom: 5px">
<option value="">Choix modèle de réponse</option>
</select>
<textarea class="form-control" name="text" required>GRDF Bonjour</textarea>
<input id="conversation_id" name="conversation_id" type="text" value="{{ $conversation->id }}" style="display:none">
<input id="user_id" name="user_id" type="text" value="{{ Auth::user()->id }}" style="display:none">
<i>Retour pas encore traité</i>
<br><br>
<button type="submit" class="btn btn-primary">Répondre</button>
</form>

当我单击提交按钮时,我终于收到此错误。

Too few arguments to function AppHttpControllersTraitementController::send_sms_reply(), 2 passed and exactly 3 expected

你知道为什么我收到这个错误吗?

像下面这样更改路由,以便它可以接受send_sms_reply函数所需的参数

Route::post('envoyer/sms/{client}/{id}', 'TraitementController@send_sms_reply')->name('traitements.send_sms_reply');

要将多个参数传递给路由,您可以在表单中执行类似操作

<form method="post" action="{{ route('traitements.send_sms_reply', ['client' => $conversation->client, 'id' => Auth::user()->id)] }}">
@csrf
/* Your code */
</form>

谢谢

相关内容

最新更新