Argument 2 passé App\Http\Controllers\ProfileController::store() doit être une instance de l'Application\Http\Demandes\CreateProfileRequest, aucune donnée

J'ai été en tirant sur mes cheveux avec cette erreur pour quelques heures maintenant, mais ne peut pas comprendre pourquoi il le fait. Je l'ai fait avant sur Laravel, mais il juste ne semble pas vouloir travailler.

C'est la méthode que je suis en train de vous mettre au travail:

public function store($name, CreateProfileRequest $request)
{
    $user = User::whereName($name)->first();


    $house = new House();
    $house->first_line_address = $request->get('first_line_address');
    $house->city = $request->get('city');
    $house->postcode = $request->get('postcode');

    $user->house()->save($house);

    return redirect('/');

}

C'est la forme que j'essaie d'obtenir les données à partir de:

{!! Form::model($user->house, ['route' => 'profile.store']) !!}

    <div class ="form-group">
        {!! Form::label('first_line_address', 'First line of address:') !!}
        {!! Form::text('first_line_address', null, ['class' => 'form-control'])!!}
    </div>

    <div class ="form-group">
        {!! Form::label('city', 'Town/City:') !!}
        {!! Form::text('city', null, ['class' => 'form-control'])!!}
    </div>

    <div class ="form-group">
        {!! Form::label('postcode', 'Postcode:') !!}
        {!! Form::text('postcode', null, ['class' => 'form-control'])!!}
    </div>

    <div class ="form-group">
        {!! Form::submit('Update Profile', ['class' => 'btn btn-primary']) !!}
    </div>

    {!! Form::close() !!}
</div>

C'est bien jusqu'à ce que je tente de le stocker puis-je obtenir

Argument 2 passé App\Http\Controllers\ProfileController::store() doit être une instance de l'Application\Http\Demandes\CreateProfileRequest, aucune donnée

C'est mon itinéraire:

$router->resource('profile', 'ProfileController');

| OBTENIR|TÊTE | profil | profil.index | App\Http\Controllers\ProfileController@index
| |

| | GET|HEAD | profil/créer | profil.créer | App\Http\Controllers\ProfileController@créer
| |

| | POST | profil | profil.store | App\Http\Controllers\ProfileController@store
| |

| | GET|HEAD | profil/{profil} | profil.afficher | App\Http\Controllers\ProfileController@show
| |

| | GET|HEAD | profil/{profil}/modifier | profil.modifier | App\Http\Controllers\ProfileController@edit
| |

| | METTRE | profil/{profil} | profil.mise à jour | App\Http\Controllers\ProfileController@mise à jour
| |

| | PATCH | profil/{profil} | | App\Http\Controllers\ProfileController@mise à jour
| |

| | SUPPRIMER | profil/{profil} | profil.détruire | App\Http\Controllers\ProfileController@détruire
| |

Si quelqu'un pense de la façon de se débarrasser de cette ridicule erreur je serai éternellement reconnaissante 🙂

  • Essayez d'inverser l'ordre des arguments: store(CreateProfileRequest $request, $name)
  • Merci! Inversé, mais a terminé avec Missing argument 2 pour App\Http\Controllers\ProfileController::store()
  • Comment votre parcours ressemble?
  • $router->ressources('profil', 'ProfileController');
  • J'ai eu un problème similaire. Mais sur la modification de l'ordre de l'erreur de s'en alla. Pourquoi l'ordre de la matière?
InformationsquelleAutor Shebs72 | 2015-05-03