J'ai une erreur qui dit:
Trop peu d'arguments pour la fonction App \ Http \ Controllers \ RakController :: update (), 1 passé et exactement 2 attendus
Voici les codes que j'ai:
public function update(Request $request, $id)
{
$data=Rak::find($id);
$data->kode_rak=$request->get('kode_rak');
$data->server=$request->get('server');
$data->os=$request->get('os');
$data->ip=$request->get('ip');
$data->masa_berlaku=$request->get('masa_berlaku');
$data->merek=$request->get('merek');
$data->type=$request->get('type');
$data->save();
return redirect ('/d_rak');
}
Qu'est-ce que j'ai manqué ici, toute aide est appréciée
3 Réponses :
Vous pouvez ignorer le paramètre $ id et l'introduire dans le contrôleur en utilisant le paramètre $ request :
public function update(Request $request)
{
$id = $request->id;
$data=Rak::find($id);
$data->kode_rak=$request->get('kode_rak');
$data->server=$request->get('server');
$data->os=$request->get('os');
$data->ip=$request->get('ip');
$data->masa_berlaku=$request->get('masa_berlaku');
$data->merek=$request->get('merek');
$data->type=$request->get('type');
$data->save();
return redirect ('/d_rak');
}
Essayez 1:
Vérifiez que la classe utilisée doit être Illuminate\Http\Request;
Essayez 2: Fonction de demande d'assistance:
public function update($id)
{
$data=Rak::find($id);
$data->kode_rak = Request()->get('kode_rak');
$data->server = Request()->get('server');
$data->os = Request()->get('os');
$data->ip = Request()->get('ip');
$data->masa_berlaku = Request()->get('masa_berlaku');
$data->merek = Request()->get('merek');
$data->type = Request()->get('type');
$data->save();
return redirect('/d_rak');
}
Et si cela n'a pas fonctionné
imprimer func_get_args () dans la fonction de mise à jour pour voir vos arguments passés
Où utilisez-vous cette méthode? Dans le routage ou dans une autre méthode dans le contrôleur
Vérifiez votre URL exemple:
public function update(Request $request, $id="")
{
$data=Rak::find($id);
$data->kode_rak=$request->get('kode_rak');
$data->server=$request->get('server');
$data->os=$request->get('os');
//your code
dans POST ROUTE. Et si {ID} n'est pas requis, définissez-le comme un argument non requis comme,
http://{yourdomain}/update/{your_id}
Cela résoudra votre erreur de quelques arguments pour la méthode de mise à jour.
p>
essayez plutôt
$ data-> update ();montrez-nous aussi votre formulaire
La fonction de mise à jour semble être dans votre contrôleur et avec la variable $ id, vous devriez avoir un paramètre de route (comme {id} dans votre route) à donner à cette fonction. Vérifiez votre règle d'itinéraire ou incluez-la dans votre question afin que les gens puissent vous répondre.
Pouvez-vous partager votre itinéraire cible?