vista rutas modelo metodos make index crear controlador con comandos database forms laravel controller models

database - rutas - php artisan make controller



una forma de sumisiĆ³n a 2 controladores en laravel (1)

Puede que esta no sea la mejor respuesta, pero puede usar una sola forma para pasarla al controlador y luego pasar los datos a los múltiples repositorios.

route.php

Route::resource(''student'', ''StudentController'');

StudentController.php

public function __constructor(StudentRepository $student, HobbyRepository $hobby) { $this->student = $student; $this->hobby= $hobby; } public function store(Request $request) { $data = $request->all(); $hobby = [ ''hobby'' => $data[''hobby''], ''schedule'' => $data[''schedule''], ''intensity'' => $data[''intensity''], ''diet'' => $data[''diet''], ]; $student = [ ''student_name'' => $data[''student_name''], ''age'' => $data[''age''], ''height'' => $data[''height''], ''weight'' => $data[''weight''], ''bmi'' => $data[''bmi''], ]; $this->student->store($student); $this->hobby->store($hobby); //your other codes. }

StudentRepository.php

public function store($data) { // your implementation on storing the user. }

HobbyRepository.php

public function store($data) { // your implementation on storing the hobby. }

Puede usar cualquier método y variables para pasar los datos del controlador. Espero que esto ayude.

Editar:

Para su pregunta extendida sobre el almacenamiento y recuperación de información.

Como se indica en los documentos:

The create method returns the saved model instance: $flight = App/Flight::create([''name'' => ''Flight 10'']);

Para obtener más información, consulte los documentos:

https://laravel.com/docs/5.3/eloquent#inserts

Si desea pasar la student id del student id al hobby el método más simple es devolver al estudiante de StudentRepository y pasarlo al HobbyRepository .

P.ej:

StudentRepository.php

public function store($data) { // your implementation on storing the user. $student = [] // array of the student informations to be stored. return Student::create($student); //you will have student information here. }

StudentController.php

$student = $this->student->store($student); //store the student information and get the student instance. $this->hobby->store($hobby, $student->id); //pass it to the hobby to store id.

Debes cambiar el almacén de hobbyRepository para usar la student id .

Esto podría solucionar su problema extendido.

entonces tengo 2 tablas en mi db: ejemplos de estudiantes y pasatiempos. así que eso significa 2 controladores así como StudentController y HobbyController. y también 2 modelos.

Tengo un formulario donde se necesita, por ejemplo:

  • 1. nombre del estudiante

  • 2.age

  • 3. Altura

  • 4. peso

  • 5.bmi

  • 6.hobby

  • 7. programar

  • 8. intensidad

  • 9.diet

los primeros cinco tienen que ir al controlador estudiantil y el 6-9 va al controlador de hobby ... ¿cómo puedo hacer esto? No quiero 2 formas diferentes ...