表「;App\Model\Table\UsersTable“;与“不相关”;id";CakePHP3

表「;App\Model\Table\UsersTable“;与“不相关”;id";CakePHP3,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我发现这个错误“Table”App\Model\Table\UsersTable”与“id”不关联,有人能帮我解决吗 以下是“我的文档”表的代码: class DocumentsTable extends Table { public function initialize(array $config) { parent::initialize($config); $this->belongsTo('Users'); //$t

我发现这个错误“Table”App\Model\Table\UsersTable”与“id”不关联,有人能帮我解决吗

以下是“我的文档”表的代码:

class DocumentsTable extends Table
{
    public function initialize(array $config)
    {
        parent::initialize($config);
        $this->belongsTo('Users');
        //$this->setForeignKey('user_id');
        $this->setTable('documents');
        $this->setDisplayField('name');
        $this->setPrimaryKey('id');

        $this->addBehavior('Timestamp');
    }
}
以下是用户代码表:

class UsersTable extends Table
{
    public function initialize(array $config)
    {
        parent::initialize($config);
        $this->hasMany('Documents');
        $this->setTable('users');
        $this->setDisplayField('id');
        $this->setPrimaryKey('id');

        $this->addBehavior('Timestamp');
    }
}
下面是错误的样子:

编辑:根据url,我试图到达academics控制器,在该控制器中加载documents表

在calander.ctp(academics表的函数之一)中,我使用以下代码:

use Cake\ORM\TableRegistry;
$admin = TableRegistry::get('Users');
$name = $admin->find()->select(['name'])->where([$admin->id => $doc['user_id']])->first();
echo $name;

$admin
是一个表对象,但您正试图在
where
子句中访问
$admin->id
id
不是表对象的属性,即使它是,也不会有用。它应该是
where(['Users.id'=>$doc['user\u id']])

以及何时出现此错误?你想读哪一页?显示您的代码。顺便说一句,关于配置的约定,请查看食谱如何正确地进行关联@Alex Stallen刚刚编辑了这篇文章,并提供了更多详细信息,看看您现在是否可以提供帮助。注意,根据您的屏幕截图,错误发生在
模板/Element/forum.ctp
的第51行,而不是
日历.ctp
,所以你可能在不止一个地方犯了这个错误。