我现在正在搜索几天而不解决这个问题:
我收到此错误消息:
Error: SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'Posts'
这是我在PostTable类中的初始化方法:
public function initialize(array $config)
{
parent::initialize($config);
$this->table('posts');
$this->displayField('post_id');
$this->primaryKey('post_id');
$this->addBehavior('timestamp');
$this->belongsTo('Posts', [
'foreignKey' => 'post_id',
'joinType' => 'INNER'
]);
$this->belongsTo('Users', [
'className' => 'Users',
'foreignKey' => 'fk_post_user_id', //<- foreignkey name are correct
'joinType' => 'INNER'
]);
$this->belongsTo('Pictures',[
'foreignKey' => 'fk_post_picture_id',
'joinType' => 'INNER'
]);
}
这是我的数据库:
我知道错误必须对posts
表的外键做一些事情,但我不知道初始化方法中belongTo
的错误。
答案 0 :(得分:0)
由于您具有自我关联,因此您需要为该关联使用不同的别名。而不是
$("#result").html(data);
使用
$this->belongsTo('Posts', [
'foreignKey' => 'post_id',
'joinType' => 'INNER'
]);