2
votes

Trop peu d'arguments pour la fonction App \ Http \ Controllers \ RakController :: update (), 1 passé et exactement 2 attendus

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');
}

Et voici l'aperçu général:
entrez la description de l'image ici

Qu'est-ce que j'ai manqué ici, toute aide est appréciée


4 commentaires

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?


3 Réponses :


1
votes

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');
}


0 commentaires

0
votes

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


1 commentaires

Où utilisez-vous cette méthode? Dans le routage ou dans une autre méthode dans le contrôleur



0
votes

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>


0 commentaires