https://wiki.kumbiaphp.com/api.php?action=feedcontributions&user=Al3jandro&feedformat=atom
KumbiaPHP Framework Wiki - Contribuciones del usuario [es]
2024-03-28T08:21:09Z
Contribuciones del usuario
MediaWiki 1.34.1
https://wiki.kumbiaphp.com/index.php?title=Como_ejecutar_sentencia_JOIN_en_un_find()_en_KumbiaPHP_Framework&diff=1751
Como ejecutar sentencia JOIN en un find() en KumbiaPHP Framework
2009-09-28T12:47:55Z
<p>Al3jandro: </p>
<hr />
<div>La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado.<br />
<br />
Debemos crear las dos tablas para realizar con el find unas consultas con el JOIN<br />
<br />
== Creamos Nuestras tablas y le agregamos registros ==<br />
<source lang=sql><br />
CREATE TABLE username(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
username varchar(50) NOT NULL,<br />
usuario_id int(11) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `username`<br />
<br />
INSERT INTO username(`id`, `username`, `usuario_id`) VALUES<br />
(1, 'lmarcano', 3),<br />
(2, 'eperez', 1),<br />
(3, 'jlinares', 0);<br />
<br />
<br />
CREATE TABLE usuario(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
nombres varchar(100) NOT NULL,<br />
departamento varchar(100) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `usuario`<br />
<br />
INSERT INTO usuario (`id`, `nombres`, `departamento`) VALUES<br />
(1, 'Elena Perez', 'Administracion'),<br />
(2, 'Carlos Beltran', 'Presidencia'),<br />
(3, 'Luis Marcano', 'Auditoria');<br />
</source><br />
<br />
== Creando nuestros Modelos == <br />
Ahora creamos nuestros modelos<br />
'''''[app]/models/username.php:'''''<br />
<source lang="php" line><br />
<?php<br />
class Username extends ActiveRecord<br />
{<br />
}<br />
</source><br />
'''''[app]/models/usuario.php:'''''<br />
<source lang="php" line><br />
<?php<br />
class Usuario extends ActiveRecord<br />
{ <br />
public function getInnerJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: inner join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
public function getLeftJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: left outer join username on usuario.id = username.usuario_id');<br />
} <br />
<br />
public function getRightJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: right outer join username on usuario.id = username.usuario_id');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
Aquí mostramos los distintos métodos como podemos utilizar el [[Consultas#find | find()]], para relacionar dos o mas tablas tablas en una consulta.<br />
<br />
== Creamos nuestro Controller ==<br />
<br />
'''''[app]/controller/usuario_controller.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class UsuarioController extends ApplicationController{<br />
<br />
public function index(){<br />
<br />
$this->inner = $this->Usuario->getInnerJoin();<br />
$this->left = $this->Usuario->getleftJoin();<br />
$this->right = $this->Usuario->getrightJoin();<br />
}<br />
}<br />
<br />
?><br />
</source><br />
<br />
== Creamos nuestra Vista ==<br />
'''''[app]/views/usuario/index.phtml:'''''<br />
<source lang="php" line><br />
<h2>Consulta con el Inner Join</h2><br />
<center><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($inner As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Left Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($left As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Right Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($right As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
</center><br />
</source><br />
<br />
== Screenshots ==<br />
[[Archivo:Screenshots.jpg|800px]]<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
<br />
Realizado por: Hector Rodriguez (Al3jandro)</div>
Al3jandro
https://wiki.kumbiaphp.com/index.php?title=Como_ejecutar_sentencia_JOIN_en_un_find()_en_KumbiaPHP_Framework&diff=1703
Como ejecutar sentencia JOIN en un find() en KumbiaPHP Framework
2009-09-25T22:13:01Z
<p>Al3jandro: /* Screenshots */</p>
<hr />
<div>La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado.<br />
<br />
Debemos crear las dos tablas para realizar con el find unas consultas con el JOIN<br />
<br />
== Creamos Nuestras tablas y le agregamos registros ==<br />
<pre><br />
CREATE TABLE username(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
username varchar(50) NOT NULL,<br />
usuario_id int(11) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `username`<br />
<br />
INSERT INTO username(`id`, `username`, `usuario_id`) VALUES<br />
(1, 'lmarcano', 3),<br />
(2, 'eperez', 1),<br />
(3, 'jlinares', 0);<br />
<br />
<br />
CREATE TABLE usuario(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
nombres varchar(100) NOT NULL,<br />
departamento varchar(100) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `usuario`<br />
<br />
INSERT INTO usuario (`id`, `nombres`, `departamento`) VALUES<br />
(1, 'Elena Perez', 'Administracion'),<br />
(2, 'Carlos Beltran', 'Presidencia'),<br />
(3, 'Luis Marcano', 'Auditoria');<br />
</pre><br />
<br />
== Creando nuestros Modelos == <br />
Ahora creamos nuestros modelos<br />
'''''[app]/models/username.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Username extends ActiveRecord{<br />
<br />
}<br />
?><br />
</source><br />
'''''[app]/models/usuario.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Usuario extends ActiveRecord{<br />
<br />
public function getInnerJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: inner join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
public function getLeftJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: left outer join username on usuario.id = username.usuario_id');<br />
} <br />
<br />
public function getRightJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: right outer join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
}<br />
?><br />
</source><br />
<br />
Aqui mostramos los distintos metodos como podemos utilizar el find, para relacionar dos o mas tablas tablas en una consulta. <br />
<br />
== Creamos nuestro Controller ==<br />
<br />
'''''[app]/controller/usuario_controller.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class UsuarioController extends ApplicationController{<br />
<br />
public function index(){<br />
<br />
$this->inner = $this->Usuario->getInnerJoin();<br />
$this->left = $this->Usuario->getleftJoin();<br />
$this->right = $this->Usuario->getrightJoin();<br />
}<br />
}<br />
<br />
?><br />
</source><br />
<br />
== Creamos nuestra Vista ==<br />
'''''[app]/views/usuario/index.phtml:'''''<br />
<source lang="php" line><br />
<h2>Consulta con el Inner Join</h2><br />
<center><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($inner As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Left Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($left As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Right Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($right As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
</center><br />
</source><br />
<br />
== Screenshots ==<br />
[[Archivo:Screenshots.jpg|800px]]</div>
Al3jandro
https://wiki.kumbiaphp.com/index.php?title=Como_ejecutar_sentencia_JOIN_en_un_find()_en_KumbiaPHP_Framework&diff=1702
Como ejecutar sentencia JOIN en un find() en KumbiaPHP Framework
2009-09-25T22:12:38Z
<p>Al3jandro: /* Screenshots */</p>
<hr />
<div>La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado.<br />
<br />
Debemos crear las dos tablas para realizar con el find unas consultas con el JOIN<br />
<br />
== Creamos Nuestras tablas y le agregamos registros ==<br />
<pre><br />
CREATE TABLE username(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
username varchar(50) NOT NULL,<br />
usuario_id int(11) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `username`<br />
<br />
INSERT INTO username(`id`, `username`, `usuario_id`) VALUES<br />
(1, 'lmarcano', 3),<br />
(2, 'eperez', 1),<br />
(3, 'jlinares', 0);<br />
<br />
<br />
CREATE TABLE usuario(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
nombres varchar(100) NOT NULL,<br />
departamento varchar(100) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `usuario`<br />
<br />
INSERT INTO usuario (`id`, `nombres`, `departamento`) VALUES<br />
(1, 'Elena Perez', 'Administracion'),<br />
(2, 'Carlos Beltran', 'Presidencia'),<br />
(3, 'Luis Marcano', 'Auditoria');<br />
</pre><br />
<br />
== Creando nuestros Modelos == <br />
Ahora creamos nuestros modelos<br />
'''''[app]/models/username.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Username extends ActiveRecord{<br />
<br />
}<br />
?><br />
</source><br />
'''''[app]/models/usuario.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Usuario extends ActiveRecord{<br />
<br />
public function getInnerJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: inner join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
public function getLeftJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: left outer join username on usuario.id = username.usuario_id');<br />
} <br />
<br />
public function getRightJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: right outer join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
}<br />
?><br />
</source><br />
<br />
Aqui mostramos los distintos metodos como podemos utilizar el find, para relacionar dos o mas tablas tablas en una consulta. <br />
<br />
== Creamos nuestro Controller ==<br />
<br />
'''''[app]/controller/usuario_controller.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class UsuarioController extends ApplicationController{<br />
<br />
public function index(){<br />
<br />
$this->inner = $this->Usuario->getInnerJoin();<br />
$this->left = $this->Usuario->getleftJoin();<br />
$this->right = $this->Usuario->getrightJoin();<br />
}<br />
}<br />
<br />
?><br />
</source><br />
<br />
== Creamos nuestra Vista ==<br />
'''''[app]/views/usuario/index.phtml:'''''<br />
<source lang="php" line><br />
<h2>Consulta con el Inner Join</h2><br />
<center><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($inner As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Left Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($left As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Right Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($right As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
</center><br />
</source><br />
<br />
== Screenshots ==<br />
[[Archivo:Screenshots.jpg|90%]]</div>
Al3jandro
https://wiki.kumbiaphp.com/index.php?title=Como_ejecutar_sentencia_JOIN_en_un_find()_en_KumbiaPHP_Framework&diff=1701
Como ejecutar sentencia JOIN en un find() en KumbiaPHP Framework
2009-09-25T22:12:23Z
<p>Al3jandro: /* Screenshots */</p>
<hr />
<div>La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado.<br />
<br />
Debemos crear las dos tablas para realizar con el find unas consultas con el JOIN<br />
<br />
== Creamos Nuestras tablas y le agregamos registros ==<br />
<pre><br />
CREATE TABLE username(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
username varchar(50) NOT NULL,<br />
usuario_id int(11) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `username`<br />
<br />
INSERT INTO username(`id`, `username`, `usuario_id`) VALUES<br />
(1, 'lmarcano', 3),<br />
(2, 'eperez', 1),<br />
(3, 'jlinares', 0);<br />
<br />
<br />
CREATE TABLE usuario(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
nombres varchar(100) NOT NULL,<br />
departamento varchar(100) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `usuario`<br />
<br />
INSERT INTO usuario (`id`, `nombres`, `departamento`) VALUES<br />
(1, 'Elena Perez', 'Administracion'),<br />
(2, 'Carlos Beltran', 'Presidencia'),<br />
(3, 'Luis Marcano', 'Auditoria');<br />
</pre><br />
<br />
== Creando nuestros Modelos == <br />
Ahora creamos nuestros modelos<br />
'''''[app]/models/username.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Username extends ActiveRecord{<br />
<br />
}<br />
?><br />
</source><br />
'''''[app]/models/usuario.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Usuario extends ActiveRecord{<br />
<br />
public function getInnerJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: inner join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
public function getLeftJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: left outer join username on usuario.id = username.usuario_id');<br />
} <br />
<br />
public function getRightJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: right outer join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
}<br />
?><br />
</source><br />
<br />
Aqui mostramos los distintos metodos como podemos utilizar el find, para relacionar dos o mas tablas tablas en una consulta. <br />
<br />
== Creamos nuestro Controller ==<br />
<br />
'''''[app]/controller/usuario_controller.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class UsuarioController extends ApplicationController{<br />
<br />
public function index(){<br />
<br />
$this->inner = $this->Usuario->getInnerJoin();<br />
$this->left = $this->Usuario->getleftJoin();<br />
$this->right = $this->Usuario->getrightJoin();<br />
}<br />
}<br />
<br />
?><br />
</source><br />
<br />
== Creamos nuestra Vista ==<br />
'''''[app]/views/usuario/index.phtml:'''''<br />
<source lang="php" line><br />
<h2>Consulta con el Inner Join</h2><br />
<center><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($inner As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Left Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($left As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Right Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($right As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
</center><br />
</source><br />
<br />
== Screenshots ==<br />
[[Archivo:Screenshots.jpg|700px]]</div>
Al3jandro
https://wiki.kumbiaphp.com/index.php?title=Como_ejecutar_sentencia_JOIN_en_un_find()_en_KumbiaPHP_Framework&diff=1700
Como ejecutar sentencia JOIN en un find() en KumbiaPHP Framework
2009-09-25T22:12:08Z
<p>Al3jandro: /* Screenshots */</p>
<hr />
<div>La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado.<br />
<br />
Debemos crear las dos tablas para realizar con el find unas consultas con el JOIN<br />
<br />
== Creamos Nuestras tablas y le agregamos registros ==<br />
<pre><br />
CREATE TABLE username(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
username varchar(50) NOT NULL,<br />
usuario_id int(11) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `username`<br />
<br />
INSERT INTO username(`id`, `username`, `usuario_id`) VALUES<br />
(1, 'lmarcano', 3),<br />
(2, 'eperez', 1),<br />
(3, 'jlinares', 0);<br />
<br />
<br />
CREATE TABLE usuario(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
nombres varchar(100) NOT NULL,<br />
departamento varchar(100) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `usuario`<br />
<br />
INSERT INTO usuario (`id`, `nombres`, `departamento`) VALUES<br />
(1, 'Elena Perez', 'Administracion'),<br />
(2, 'Carlos Beltran', 'Presidencia'),<br />
(3, 'Luis Marcano', 'Auditoria');<br />
</pre><br />
<br />
== Creando nuestros Modelos == <br />
Ahora creamos nuestros modelos<br />
'''''[app]/models/username.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Username extends ActiveRecord{<br />
<br />
}<br />
?><br />
</source><br />
'''''[app]/models/usuario.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Usuario extends ActiveRecord{<br />
<br />
public function getInnerJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: inner join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
public function getLeftJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: left outer join username on usuario.id = username.usuario_id');<br />
} <br />
<br />
public function getRightJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: right outer join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
}<br />
?><br />
</source><br />
<br />
Aqui mostramos los distintos metodos como podemos utilizar el find, para relacionar dos o mas tablas tablas en una consulta. <br />
<br />
== Creamos nuestro Controller ==<br />
<br />
'''''[app]/controller/usuario_controller.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class UsuarioController extends ApplicationController{<br />
<br />
public function index(){<br />
<br />
$this->inner = $this->Usuario->getInnerJoin();<br />
$this->left = $this->Usuario->getleftJoin();<br />
$this->right = $this->Usuario->getrightJoin();<br />
}<br />
}<br />
<br />
?><br />
</source><br />
<br />
== Creamos nuestra Vista ==<br />
'''''[app]/views/usuario/index.phtml:'''''<br />
<source lang="php" line><br />
<h2>Consulta con el Inner Join</h2><br />
<center><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($inner As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Left Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($left As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Right Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($right As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
</center><br />
</source><br />
<br />
== Screenshots ==<br />
[[Archivo:Screenshots.jpg|500px]]</div>
Al3jandro
https://wiki.kumbiaphp.com/index.php?title=Como_ejecutar_sentencia_JOIN_en_un_find()_en_KumbiaPHP_Framework&diff=1699
Como ejecutar sentencia JOIN en un find() en KumbiaPHP Framework
2009-09-25T22:11:35Z
<p>Al3jandro: </p>
<hr />
<div>La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado.<br />
<br />
Debemos crear las dos tablas para realizar con el find unas consultas con el JOIN<br />
<br />
== Creamos Nuestras tablas y le agregamos registros ==<br />
<pre><br />
CREATE TABLE username(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
username varchar(50) NOT NULL,<br />
usuario_id int(11) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `username`<br />
<br />
INSERT INTO username(`id`, `username`, `usuario_id`) VALUES<br />
(1, 'lmarcano', 3),<br />
(2, 'eperez', 1),<br />
(3, 'jlinares', 0);<br />
<br />
<br />
CREATE TABLE usuario(<br />
id int(11) NOT NULL AUTO_INCREMENT,<br />
nombres varchar(100) NOT NULL,<br />
departamento varchar(100) NOT NULL,<br />
PRIMARY KEY (id)<br />
)<br />
<br />
-- Volcar la base de datos para la tabla `usuario`<br />
<br />
INSERT INTO usuario (`id`, `nombres`, `departamento`) VALUES<br />
(1, 'Elena Perez', 'Administracion'),<br />
(2, 'Carlos Beltran', 'Presidencia'),<br />
(3, 'Luis Marcano', 'Auditoria');<br />
</pre><br />
<br />
== Creando nuestros Modelos == <br />
Ahora creamos nuestros modelos<br />
'''''[app]/models/username.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Username extends ActiveRecord{<br />
<br />
}<br />
?><br />
</source><br />
'''''[app]/models/usuario.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class Usuario extends ActiveRecord{<br />
<br />
public function getInnerJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: inner join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
public function getLeftJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: left outer join username on usuario.id = username.usuario_id');<br />
} <br />
<br />
public function getRightJoin(){<br />
return $this->find('columns: usuario.id, nombres, departamento, username',<br />
'join: right outer join username on usuario.id = username.usuario_id');<br />
}<br />
<br />
}<br />
?><br />
</source><br />
<br />
Aqui mostramos los distintos metodos como podemos utilizar el find, para relacionar dos o mas tablas tablas en una consulta. <br />
<br />
== Creamos nuestro Controller ==<br />
<br />
'''''[app]/controller/usuario_controller.php:'''''<br />
<source lang="php" line><br />
<?php<br />
<br />
class UsuarioController extends ApplicationController{<br />
<br />
public function index(){<br />
<br />
$this->inner = $this->Usuario->getInnerJoin();<br />
$this->left = $this->Usuario->getleftJoin();<br />
$this->right = $this->Usuario->getrightJoin();<br />
}<br />
}<br />
<br />
?><br />
</source><br />
<br />
== Creamos nuestra Vista ==<br />
'''''[app]/views/usuario/index.phtml:'''''<br />
<source lang="php" line><br />
<h2>Consulta con el Inner Join</h2><br />
<center><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($inner As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Left Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($left As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
<br /><br />
<h2>Consulta con el Right Outer Join</h2><br />
<table border='1'><br />
<tr><br />
<th>Username</th><br />
<th>Nombre del Usuario</th><br />
<th>Departamento</th><br />
</tr><br />
<?php foreach($right As $i): ?><br />
<? echo tr_color('#ff0000', '#fff')?><br />
<td><?php echo $i->username ?></td><br />
<td><?php echo $i->nombres ?></td><br />
<td><?php echo $i->departamento ?></td><br />
<?php endforeach; ?><br />
</table><br />
</center><br />
</source><br />
<br />
== Screenshots ==<br />
[[Archivo:Screenshots.jpg]]</div>
Al3jandro
https://wiki.kumbiaphp.com/index.php?title=Archivo:Screenshots.jpg&diff=1698
Archivo:Screenshots.jpg
2009-09-25T22:10:31Z
<p>Al3jandro: </p>
<hr />
<div></div>
Al3jandro