Procurando respostas para o problema descrito na mensagem:
http://groups.google.com/group/cake-php-pt/browse_thread/thread/f192caea87ecee60


Tentando recuperar campos especificos em mais de 1 modelo
utilizando findAll() em um relacionamento "HasMany".

Detalhes:
Um modelo nomeado como Tag e outro como Post.
Tag possui mais de 1 Post.
Post pertence a Tag.


Arquivos:

## models/post.php
class Post extends AppModel {
   var $belongsTo = array('Tag');
}
---

## models/tag.php
class Tag extends AppModel {
   var $hasMany = array('Post');
}
---

## controllers/posts_controller.php
class PostsController extends AppController {
   var $scaffold;
}
---

## controllers/tags_controller.php
class TagsController extends AppController {
   var $scaffold;

   function teste() {

      $fields = array('Tag.id', 'Post.id');

      $retorno = $this->Tag->findAll(null, $fields);

      pr($retorno);
      exit();
   }
}

**RETORNA:**
Query: SELECT `Tag`.`id`, `Post`.`id` FROM `tags` AS `Tag` WHERE 1 = 1
Warning: SQL Error: 1054: Unknown column 'Post.id' in 'field list' in

#############################################







** Retornado com sucesso **
Agora usando o metodo findAll no controller Posts.
Executa perfeitamente retornando apenas os campos dos modelos que
foram passados pelo parametro. No caso o campo 'id' do modelo Post e
o campo 'id' do Modelo Tag.

## controllers/posts_controller.php
class PostsController extends AppController {
   var $scaffold;

   function teste() {

      $fields = array('Post.id', 'Tag.id');

      $retorno = $this->Post->findAll(null, $fields);

      pr($retorno);
      exit();
   }
}

#############################################









Tentando recuperar campos especificos em mais de 1 modelo
utilizando findAll() em um relacionamento "hasAndBelongsToMany".


## models/post.php:
class Post extends AppModel {
   var $hasAndBelongsToMany = array('Tag');
}

## models/tag.php
class Tag extends AppModel {
   var $hasAndBelongsToMany = array('Post');
}



## controllers/posts_controller.php
class PostsController extends AppController {
   var $scaffold;

}


## controllers/tags_controller.php
class TagsController extends AppController {
   var $scaffold;

   function teste() {

      $fields = array('Tag.id', 'Post.id');
      $retorno = $this->Tag->findAll(null, $fields);

      pr($retorno);
      exit();
   }
}

**RETORNA:**
Warning: SQL Error: 1054: Unknown column 'Post.id' in 'field list'
in...

###############################################


Nos testes acima, apenas consegui o resultado desejado quando utilizei
o metodo findAll()
no modelo definido como "belongsTo".


--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Cake PHP Português" do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
cake-php-pt@googlegroups.com
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a