当我想要检索用户时,我没有个人资料。 我按照约定设置了数据库。
我的模型(UserTable)中得到以下代码:
<?php
// src/Model/Table/UsersTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
class UsersTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
$this->hasOne('Profiles')
->setDependent(true);
}
}
我的控制器是这样的:
<?php
// src/Controller/UsersController.php
namespace App\Controller;
class UsersController extends AppController
{
public function initialize()
{
parent::initialize();
$this->loadComponent('Paginator');
$this->loadComponent('Flash'); // Include the FlashComponent
}
public function index()
{
$query = $this->Users->find();
$results = $query->all();
$this->set(compact('results'));
}
}
通话索引之后,我得到了所有用户,这是一件好事。但是没有个人资料。 我想,我在某处错过了一行代码。任何帮助表示赞赏。
答案 0 :(得分:0)
我错过了contain
这件事。在cakephp 2中,不需要它。
控制器代码现在是这样(正在运行):
$query = $this->Users->find();
$query->contain(['Profiles']);
$results = $query->all();
还是谢谢。