将外键从控制器传递给模型以获取特定查询cakephp 2.3.9

时间:2013-09-04 12:55:52

标签: php mysql cakephp cakephp-appmodel cakephp-2.3

我想为两个不同的查询使用两个不同的外键

对于我想要的第一个查询:

我的模型代码就像

public $belongsTo = array(
    'Emailformatstype' => array(
        'className' => 'Emailformatstype',
        'foreignKey' => 'id'
    )
);

现在我希望第二次查询:

我的模型代码就像

public $belongsTo = array(
    'Emailformatstype' => array(
        'className' => 'Emailformatstype',
        'foreignKey' => 'New_id'
    )
);

所以我的问题是有没有任何技术,所以我可以从控制器传递foreignKey进行特定查询

像我们提供递归

之类的东西
$this->Model->recursive = 0;

同样我想:

$this->Model->foreignKey= 'My_foreignKey';

1 个答案:

答案 0 :(得分:1)

只需访问association属性:

$this->Model->belongsTo['YourAssoc']['foreignKey'] = 'my_foreignKey';

一些最佳实践:Emailformatstype是一个错误的名称,这应该是EmailFormatType。阅读更好,符合惯例。请注意您之前使用的复数(格式),这将使其成为按惯例的连接表。