子查询在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
)
);