Mostrar tres modelos en una sola vista

58 views
Skip to first unread message

Jesus Marquez

unread,
Apr 18, 2016, 3:13:26 AM4/18/16
to CakePHP en Español
Buenas tardes. 
Me he metido hace poco a trabajar con CakePHP y necesito un poco de ayuda.
Os pongo en situación, uso la última versión de Cake, la 3.2. En mi base de datos tengo tres modelos, Peticiones, Items y Ofertas. Una Peticion tiene varios Items, y un Item tiene varias Ofertas.
Tras usar la magia para crear todo el código según tengo ya mi base de datos, en la vista (view()) de Peticiones se me muestran los atributos de la Peticion que marco y justo debajo un resumen de todos los Items relacionados con dicha Peticion seleccionada. La pregunta es, ¿cómo puedo a su vez, de la misma forma, mostrar un resument de las Ofertas relacionadas de un Item mostrado en la misma pantalla? Estoy seguro que se será una tontería de dos o tres lineas, pero aun estoy un poco verde con CakePHP.

Espero haberme explicado bien y que me podáis ayudar.
Saludos!!

omar saboya caro

unread,
Apr 20, 2016, 9:21:16 AM4/20/16
to cakep...@googlegroups.com
En el contain tienes que indicar la relacion Items->ofertas por ejemplo:

        $this->paginate = [
            'contain' => ['Items', 'Items.Ofertas']
        ];
        $peticiones = $this->paginate($this->Peticiones);

        $this->set(compact('peticiones '));
        $this->set('_serialize', ['peticiones ']);

en tu vista:

forach($peticiones as $p){
   $p->item->ofertas->campo_a_mostrar
}


--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP en Español" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cakephp-esp...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a cakep...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/cakephp-esp.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Omar Saboya Caro
RPM #950456511
Reply all
Reply to author
Forward
0 new messages