Creando MIGRATION para generación de tablas

danielromeroauk
@danielromeroauk

Crearemos los archivos MIGRATION para poder generar las tablas y campos que se encontrarán en nuestra Base de datos


Para realizar comentarios debes de Iniciar Sesión ó Registrarte.


Comentarios

guillermo elias dijo:

ola daniel que tal pues bueno tengo una pequeña duda yo segui la parte de la creacion dela base de datos bien solo que yo implememte mi propia bade de datos en esa base de datos entre muchas tablas yo tengo una tabla llamada cines y su modelo es Cine una tabla llamada peliculas y su modelo es Pelicula en el modelo Cine yo hago esto public function peliculas (){ return $this->hasMany('Pelicula')} y en el modelo Pelicula hago esto public funciton cines(){return $this->belongsTo('Cine')} listo eso lo hago yo ya hize el modulo de cines que registre que guarde y que edite con sus respectivos validaciones bueno viendo el documentaicon de laravel yo puedo hacer esto $cine= Cine::find(1)->peliculas; esto lo estoy llamando en el controlador de peliculas en la function index porque quiero que me muestre las pelicuals creadas con su respectivo cine ejemplo algo asi en una tabla me diga el id el nombre la sipnosis y el cine que le pertenece bueno cuando hago esa linea de codigo $cine= Cine::find(1)->peliculas; me dice esto Trying to get property of non-object esepro me pudas dar una respuesta ya que llevo horasa buscando en internet y no encuentro algo

Responder

danielromeroauk dijo:

Hola Guillermo; Tal como escribes, una película pertenece a un sólo cine, por lo tanto es recomendable llamar "cine" a la función en el modelo "Pelicula". $cine = Cine::find(1)->peliculas; retorna una colección de películas del cine con id 1, por lo que si quisieras acceder a las propiedades de las películas, debes recorrer la colección con un foreach.


danielromeroauk dijo:

Ahora, para las funciones hasMany y belongsTo debes especificar el namespace al que pertenece la clase de su argumento. Es decir, "App/Pelicula" y "App/Cine" respectivamente.


guillermo elias dijo:

ola daniel que tal como va todo bueno era eso que no declarabal (App\cine) yo hago esta linea de codigo $cine=Cine::find(3)->peliculas; bueno esto cuando lo imprimo con un dd el me trae la dos peliculas que estan asociados en el cine 3 listo tu me dices que haga un foreach bueno en la docmunetacion hay algo que se llama eager loading bueno intento hacer un foreach asi public function index() { foreach (Pelicula::with('cines')->get() as $cines) { echo $cines->peliculas->nombre; } Trying to get property of non-object pero lo he echo de las miles de manera ue estan en la documentacion y nada no he dado con ese error daniel si me hiciera el inmenso favor de orientarme que estoy haciendo mal te lo agradeceria muchas gracias

Responder