Mensagem sobre o tópico
Problema com displayField
MIME-Version: 1.0
Received: by 10.100.142.4 with SMTP id p4mr248611and.23.1246127919178; Sat, 27
Jun 2009 11:38:39 -0700 (PDT)
Date: Sat, 27 Jun 2009 11:38:39 -0700 (PDT)
In-Reply-To: <4b253c21-c939-436e-825f-507f37b22b7c@r34g2000vba.googlegroups.com>
X-IP: 201.81.83.141
References: <4b253c21-c939-436e-825f-507f37b22b7c@r34g2000vba.googlegroups.com>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11)
Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729),gzip(gfe),gzip(gfe)
Message-ID: <9327d3ad-8ee7-4ac9-81fd-b5d6c0763fa5@m19g2000yqk.googlegroups.com>
Subject: Re: Problema com displayField
From: Altieres <altiereslo...@gmail.com>
To: =?ISO-8859-1?Q?Cake_PHP_Portugu=EAs?= <cake-php-pt@googlegroups.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
F=E1bio,
At=E9 onde sei realmente o find list n=E3o faz joins...
N=E3o consegui entender muito bem porque voc=EA precisa disso, visto que
os names de Y correspondem aos ids de Y, mas vamos l=E1...
Fa=E7a um find all normalmente, que retornar=E1 algo como:
# $a =3D array(
# array(
# 'User' =3D> array(
# 'id' =3D> 2,
# 'group_id' =3D> 1,
# 'Data' =3D> array(
# 'user' =3D> 'mariano.iglesias',
# 'name' =3D> 'Mariano Iglesias'
# )
# )
# ),
# array(
# 'User' =3D> array(
# 'id' =3D> 14,
# 'group_id' =3D> 2,
# 'Data' =3D> array(
# 'user' =3D> 'phpnut',
# 'name' =3D> 'Larry E. Masters'
# )
# )
# ),
# array(
# 'User' =3D> array(
# 'id' =3D> 25,
# 'group_id' =3D> 1,
# 'Data' =3D> array(
# 'user' =3D> 'gwoo',
# 'name' =3D> 'The Gwoo'
# )
# )
# )
# );
Fazendo:
# $result =3D Set::combine($a, '{n}.User.id', '{n}.User.Data.name');
Voc=EA ter=E1 o que deseja:
# Array
# (
# [2] =3D> Mariano Iglesias
# [14] =3D> Larry E. Masters
# [25] =3D> The Gwoo
# )
# */
refer=EAncia:
http://book.cakephp.org/view/662/combine
att,
---
Altieres Lopes
WebGoal.com.br
Simplificando Softwares
On 25 jun, 17:17, F=E1bio <fabiobmlaz...@gmail.com> wrote:
> Opa pessoal.
> Tenho o Model X e Y
> O model X pertence ao Model Y
> No controller do X, eu fiz um find('list') pra alimentar um select que
> estou
> fazendo. Por=E9m, na tabela X h=E1 apenas os campos id, y_id
> No Y que tem o name... E =E9 esse name que eu devo mostrar nos options
> do meu
> select. S=F3 que quando l=E1 no X eu fa=E7o um $displayField =3D array
> ('Y.name'),
> ele diz que a coluna =E9 desconhecida.
> Como posso fazer pra exibir o name?