cakephp从另一个表中将数据检索到控制器中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cakephp从另一个表中将数据检索到控制器中相关的知识,希望对你有一定的参考价值。

我正在使用cakephp,我希望在我的userController.php中从另一个表(ingredient_aliases)中检索数据。这是成分阿里亚斯的模型

class IngredientAlias extends AppModel {
    public $name = 'IngredientAlias';
    public $useTable = 'ingredient_aliases';
    public $belongsTo = array(
        'Ingredient' => array(
            'className'    => 'Ingredient',
            'foreignKey'   => 'ingredient_id'
        )
    );
...

我想从我的userController.php中检索表ingredient_aliases(最后创建的10个)中的数据

我试过这种模式:

$this->loadModel('IngredientAlias', 2);
$ingg = $this->IngredientAlias->read();
$options['joins'] = array(
    array('table' => 'ingredient_aliases',
        'alias' => 'ing',
        'type' => 'LEFT',
        'foreignKey' => 'ing.user_id',
        'order' => 'ing.created DESC',
        'limit' => 3,
        'conditions' => array(
            'ing.user_id = User.id'
        )
    )
);
$options['conditions'] = array( );
$this->set('ingredient',$this->IngredientAlias->find('all', $options));

但这给了我这个错误:错误:SQLSTATE [42S22]:找不到列:1054'on子句'中的未知列'User.id'

有人能帮我吗?谢谢

答案

您可以使用以下内容在任何控制器或组件上简单地实例化另一个模型(表)。

$data = ClassRegistry::init('IngredientAlias')->find('first', array());

而已。您将能够访问任何表上的任何数据。

以上是关于cakephp从另一个表中将数据检索到控制器中的主要内容,如果未能解决你的问题,请参考以下文章

在 CakePHP 3.0 的 add 方法中将附加数据保存到连接表

Cakephp 从另一个视图中检索 id

如何查看sql server中代码创建的临时表?

Cakephp 2.2.3 habtm 保存到中间表

有没有办法在 cakePHP 中将数据从 beforeSave() 传递到 afterSave()?

CakePHP将数据导入到没有模型的表中