cakePHP 中的子查询以在其他表中查找

2022-01-23 00:00:00 subquery mysql 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
    )
);

相关文章