2008/1/13 Stcggtc <[EMAIL PROTECTED]>:

>
> Hola a todos, tal vez alguien me pueda ayudar... Uso cakephp 1.2 y
> genere los MVC con el cake bake.
>

Buenas Stcggtc,


> En una vista en la que se visuliza UN registro de una tabla A, al pie
> aparecen MUCHOS registros de una tabla B que se encuentra relacionada
> a la primera (A hasmany B).
>
> Como puedo personalizar la vista de esa tabla B? darle un orden,
> mostrar menos campos, incluso tal vez paginar?
>

1) Para darle un orden tenés dos opciones:

a) Setearlo en la relación:

class A extends Model {

var $hasMany = array (
'B' => array (
'className' => 'B',
'foreignKey' => 'b_id',
'order' => 'A.campo1 DESC, B.campo2 ASC'
)
);

b) Setearlo en el finder:

$order = 'A.campo1 DESC, B.campo2 ASC';
find(string $conditions, array $fields, string $order, int $recursive)

Creo que también se puede usar array notation:
$order = array('A.campo1 DESC', 'B.campo2 ASC');

2) Para traer menos campos, podés setear el capo $fields del método que uses
para buscar:

$fields = 'A.campo1, A.campo3, B.campo1 );
find(string $conditions, array $fields, string $order, int $recursive)

Creo que también se puede usar array notation:
$fields = array('A.campo1', 'B.campo2', 'A.campo2' );

Para paginar no se exactamente lo que necesitás, y tampoco lo tengo fresco,
pero creo que en este artículo podes encontrar algo de info:
http://bakery.cakephp.org/articles/view/advanced-pagination-1-2

Un abrazo,

-- 
Matias Lespiau
http://www.gignus.com/

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a