我正在开发一个向我们的客户发送短信的项目。
我正在尝试在我的数据库中创建一个具有雄辩的新行,并且我正在我的函数中传递 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>
谢谢