Fábio,
Até onde sei realmente o find list não faz joins...
Não consegui entender muito bem porque você precisa disso, visto que
os names de Y correspondem aos ids de Y, mas vamos lá...
Faça um find all normalmente, que retornará algo como:
# $a = array(
# array(
# 'User' => array(
# 'id' => 2,
# 'group_id' => 1,
# 'Data' => array(
# 'user' => 'mariano.iglesias',
# 'name' => 'Mariano Iglesias'
# )
# )
# ),
# array(
# 'User' => array(
# 'id' => 14,
# 'group_id' => 2,
# 'Data' => array(
# 'user' => 'phpnut',
# 'name' => 'Larry E. Masters'
# )
# )
# ),
# array(
# 'User' => array(
# 'id' => 25,
# 'group_id' => 1,
# 'Data' => array(
# 'user' => 'gwoo',
# 'name' => 'The Gwoo'
# )
# )
# )
# );
Fazendo:
# $result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name');
Você terá o que deseja:
# Array
# (
# [2] => Mariano Iglesias
# [14] => Larry E. Masters
# [25] => The Gwoo
# )
# */
referência:
http://book.cakephp.org/view/662/combine
att,
---
Altieres Lopes
WebGoal.com.br
Simplificando Softwares
On 25 jun, 17:17, Fábio <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ém, na tabela X há apenas os campos id, y_id
> No Y que tem o name... E é esse name que eu devo mostrar nos options
> do meu
> select. Só que quando lá no X eu faço um $displayField = array
> ('Y.name'),
> ele diz que a coluna é desconhecida.
> Como posso fazer pra exibir o name?
> Obrigado a todos.