php - 仅查找连接条件匹配的 parent

标签 php mysql cakephp

我有两个相关的模型。现在我需要从 Field-Model 检索数据,其中 UserField 上的连接条件匹配:

我有 UserField 的 ID,想得到它的相关字段(-data): 相应的 sql 如下所示:

SELECT Field.* 
FROM fields AS Field 
  JOIN user_fields AS UserField 
    ON UserField.field_id = Field.id 
WHERE UserField.id = 3;

我想用蛋糕模型逻辑来写这个。

模型:

class Field extends AppModel {
     public $hasMany = array(
          'UserField' => array(
               'className' => 'UserField',
               'foreignKey' => 'field_id'
          )
     );
}

class UserField extends AppModel {
     public $belongsTo = array(
          'Field' => array(
               'className' => 'Field'
          )
     );
}

查找:

$this->Field->hasMany['UserField']['conditions'] = array('UserField.id' => 3);
$this->Field->find('all');
查询的

Result都是Field,而UserField只在条件匹配的地方设置。我需要将结果限制为仅匹配的情况:

array(
    (int) 0 => array(
        'Field' => array(
            'id' => (int) 1
        ),
        'UserField' => array()
    ),
    (int) 1 => array(
        'Field' => array(
            'id' => (int) 2
        ),
        'UserField' => array()
    ),
    (int) 2 => array(
        'Field' => array(
            'id' => (int) 3
        ),
        'UserField' => array(
            'id' => (int) 3
        )
    )
)

我的期望

array(
    (int) 2 => array(
        'Field' => array(
            'id' => (int) 3
        ),
        'UserField' => array(
            'id' => (int) 3
        )
    )
)

UserField 是可选的,我只想检索 Field 数据。

最佳答案

我相信你想做这样的事情:

$rows = $this->Field->find('all', array(
    'conditions' => array(
        'UserField.id' => 3
    )
);

关于php - 仅查找连接条件匹配的 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25202055/

相关文章:

php - Laravel 验证总是从 API 返回 200 OK

php - 通过 php 和 html 表单上传文件的代码错误

css - cakePHP3 使用的是什么版本的 Foundation?

cakephp - 通过 URL cakePHP 传递多个、单个或无参数

php - HTML 表格转数组 PHP

php - Ajax PHP JavaScript : error when using POST method

php - 结果 "10.00"未显示在 Mysql 查询中 TOP 结果从 1 到 10

php - 我有一个 SQL 查询,它使用 UNION : 链接 3 个表

php - 使用 PHP 在 MySQL DB 中以逗号分隔格式添加多个图像

cakephp - 如何在 CakePHP 提交按钮中插入 Font Awesome 字形/图标?