在控制器中,我可以使用table
方法在cakephp中获取另一个表数据。但是在模型中是否可以?例如,我使用了ORM / Table类。我使用$this->table('blogs');
方法定义了我的表名。如下面的代码
word-wrap: break-word;
是否可以在没有关联的情况下以相同的方式声明另一个表?
注意:我可以在控制器中执行此操作。
答案 0 :(得分:0)
如果要在另一个表中加载模型,可以使用TableRegistry Reference
use Cake\ORM\TableRegistry
$otherTable = TableRegistry::get('other');
//do something with the other table
//example
$someRecord = $otherTable->find()->first();
如果您的模型与您想通过关联加载的其他模型相关联(belongsTo,hasOne等),那么您可以直接使用它,例如:
$this->otherModel->find()->contain()->where(['someCondition' => 'value'])->first()
话虽如此,如果您正在尝试这样做,您实际上无法将两个表定义为一个。您可以在另一个表中加载和使用不同的表,但不能在一个表类下定义两个表。
我真的不明白为什么你不想在这里定义一个关联,因为它听起来就像你应该做的那样,但我希望表注册表选项能够覆盖你