我有一个条目与users_id作为外键的表用户表。
我已经在EntriesTable中设置了belongsTo关联,如下所示:
$this->belongsTo('Users', [
'foreignKey' => 'user_id',
'joinType' => 'INNER'
]);
之后,我在EntriesController中编写了此代码:
$entries = TableRegistry::get('Entries');
$query = $entries->findByTitle($title)
->contain(['Users']);
$entry = $query->first();
$this->set('entry', $entry);
在条目的视图模板我要显示的用户名与写入输入的用户的领域。
我知道在CakePHP 1的早期版本中,我可以只写$ entry ['User'] ['username']来检索编写条目的用户的用户名。现在我正在使用CakePHP 3.6,它似乎无法正常工作。我如何在CakePHP 3中执行相同的任务?
您可以像下面这样写
在控制器中
public function view($title)
{
$entry = $this->Entries->findByTitle($title)->contain(['Users']);
$entry = $entry->first();
$this->set('entry', $entry);
}
要么
public function view($title)
{
$query = $this->Entries->find('all', [
'where' => ['Entries.title' => $title],
'contain' => ['Users']
]);
$entry = $query->first();
$this->set('entry', $entry);
}
视野中
<?= $entry->user->username ?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句