Serie LaravelPHP Eloquent ORM Cap8
-
Upload
jorge-antonio-linares-vera -
Category
Documents
-
view
219 -
download
0
Transcript of Serie LaravelPHP Eloquent ORM Cap8
-
7/25/2019 Serie LaravelPHP Eloquent ORM Cap8
1/3
Captulo 8: Relaciones ORM Eloquent en Laravel 4@jlinformatico
Hola estimados developers, en el anterior captulo hablamos sobre como implementarnuestros modelos en nuestro primer proyecto Laravel 4, puedes verlo en el siguiente:http://blog.devacademy.la/post/9910!"4"1/tutorial#laravel#implementando#modelos#
por
$n este tutorial vamos a utili%ar las relaciones elo&uent en Laravel 4, seguimos connuestro proyecto devacademy#laravel, emocionad'()), continuemos.
Introduccin a las relaciones
$n los tutoriales anteriores hemos descubierto c*mo representar las +las almacenadasen nuestras tablas de la base de datos como obetos.-ado &ue esos obetos ahora son simples, si ueramos a almacenar datos relacionadoscon ellos, tendramos &ue crear nuevos obetos y ormar relaciones entre ellos.
amos a tomar nuestro modelo Libro del anterior tutorial. i pensamos en los libros porun momento, llegaremos a la conclusi*n de &ue han tenido &ue ser escritos por alguien.
s &ue ahora sabemos &ue un Li!ro pertenece a un autor. $sa es nuestra primerarelacin. $l autor tiene un enlace al libro. $n cierta manera, el autor identi+ca al libro. 2oes necesariamente una propiedad del libro, como su ttulo por eemplo.
3n autortiene su propio conunto de propiedades un nombre, un lugar de nacimiento,un, vamos a declarar su propio modelo, una clase utor.
5lase utor
6ien, ormemos una relaci*n entre ambas tablas. $s una relaci*n entre Libro y utor,
ignoraremos co#autora por ahora y asumiremos &ue un libro solo puede tener un autor.amos a a7adir una nueva columna a la tabla Libros.
5lase Libros 8elaci*n
Hemos a7adido nuestra primera clave oranea. $sta es el campo autorid. 3na ve% ms,
http://blog.devacademy.la/post/99105325421/tutorial-laravel-implementando-modelos-porhttp://blog.devacademy.la/post/99105325421/tutorial-laravel-implementando-modelos-porhttp://blog.devacademy.la/post/99105325421/tutorial-laravel-implementando-modelos-porhttp://blog.devacademy.la/post/99105325421/tutorial-laravel-implementando-modelos-por -
7/25/2019 Serie LaravelPHP Eloquent ORM Cap8
2/3
es un campo entero, pero no es usado para identi+car +las en esta tabla, en ve% de esoes usada para identi+car +las relacionadas en otra tabla. 3na clave oranea se usanormalmente para identi+car una clave primaria en una tabla adyacente, no obstante, enalgunas circunstancias puede ser usada para identi+car otros campos.
8elaci*n utores y Libros
amos a de+nirle nombre a las relaciones cuando llegue la hora de implementar esos
tipos de relaciones con $lo&uent :
Li!ro !elon"s#to $utorLas relaciones tambi;n tienen sus variaciones inversas. i un Libro pertenece a un utor,esto signi+ca &ue un utor tiene muchos Libros. hora hemos aprendido el nombre deotra relaci*n.
$utor %as#man& Li!roi el autor solo tuviera un u; tal un sistema de avoritos( $n el &ue un 3suario pueda votar un Libro. amos aintentar e?presarlo usando las relaciones &ue hemos descubierto.
'suario %as#man& Li!ro
Li!ro %as#man& 'suario
La relaci*n has many @tiene muchosA es la relaci*n &ue e?presa el avorito.5uando ambas relaciones y sus inversas son del tipo hasmany tenemos &ueimplementar un nuevo tipo de relaci*n.
Brimero, en ve% de decir tiene muchos diremos &ue pertenece a muchos@belongstomanyA. -e esta orma no la conundiremos con la otra relaci*n. $ste nuevotipo de relaci*n orma una relaci*n del tipo muchos a muchos y necesita una tablaadicional.
Implementando
-
7/25/2019 Serie LaravelPHP Eloquent ORM Cap8
3/3
C(php
classLi!roe(tends EloquentD
// 2ombre del libro
pu!licEnombre
// -escripci*n del libropu!licEdescripcion
// Fdenti+cador autorpu!licEautorid
// 8elaci*npu!lic functionautor@AD
return )t%is#Gbelongso@IutorIA
JJ
aludos)