hasOne不提供用户和个人资料

时间:2018-08-12 08:53:42

标签: cakephp-3.x has-one

当我想要检索用户时,我没有个人资料。 我按照约定设置了数据库。

我的模型(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'));
    }
}

通话索引之后,我得到了所有用户,这是一件好事。但是没有个人资料。 我想,我在某处错过了一行代码。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我错过了contain这件事。在cakephp 2中,不需要它。

控制器代码现在是这样(正在运行):

$query = $this->Users->find();
$query->contain(['Profiles']);
$results = $query->all();

还是谢谢。