子查询在cakePHP中查找其他表

子查询在cakePHP中查找其他表

问题描述:

我最近开始尝试CakePHP。我在正常PHP中使用此查询,并需要将其转换为CakePHP查找。

I recently started experimenting with CakePHP. I used this query in "normal" PHP and need to convert it to a CakePHP find. However I can't seem to make it work!

SELECT *, 
(SELECT name FROM `users` WHERE `users`.`id`=`products`.`creator`) AS creatorname 
FROM `products` 
WHERE `products`.`ID`='2'

这是一个基本设置,有2个表,用户和产品。每个产品都由用户创建,我需要加载用户的名称以及产品信息。 (所以我可以显示用户名而不只是用户ID。

It's a basic set up with 2 tables, users and products. Every product gets created by a user and I need to load the name of the user along with the product info. (So I can display the username and not just the user id.

任何想法?

如果您正确设置了关系:

If you have the relations set up correctly:

$this->Product->find(
    'first',
    array(
        'conditions' => array(
            'Product.id' => 2
        ),
        'fields' => array(
            'Product.*',
            'User.name'
        ),
        'recursive' => 1
    )
);