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 -~----------~----~----~----~------~----~------~--~---