我收到此错误'表" 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');
}
}
这是错误的样子:
编辑:根据我试图联系学术控制人的网址,我在其中加载文件表。
在calander.ctp中,学术表的一个功能,我使用以下代码:
use Cake\ORM\TableRegistry;
$admin = TableRegistry::get('Users');
$name = $admin->find()->select(['name'])->where([$admin->id => $doc['user_id']])->first();
echo $name;
答案 0 :(得分:1)
$admin
是一个表格对象,但您尝试访问$admin->id
子句中的where
。 id
不是表格对象的属性,即使它是,它也不会有用。它应该是where(['Users.id' => $doc['user_id']])
。