У меня есть следующие отношения Пользователи (идентификатор, имя, электронная почта, ...) фильмы (идентификатор, имя, ...) users_watchlists (идентификатор, user_id, movie_id)
Это отношения HABTM.
Ошибка
Ошибка: SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1066 Неуникальная таблица/псевдоним: «UsersWatchlist»
SQL-запрос: SELECT
UsersWatchlist
.id
,UsersWatchlist
.first_name
,UsersWatchlist
.last_name
,UsersWatchlist
.display_image
,UsersWatchlist
.UsersWatchlist
.password
,UsersWatchlist
.birthday
,UsersWatchlist
.gender
,UsersWatchlist
.group_id
,UsersWatchlist
.banned
,UsersWatchlist
.created
,UsersWatchlist
.modified
,UsersWatchlist
.id
,UsersWatchlist
.first_name
,UsersWatchlist
.last_name
,UsersWatchlist
.display_image
,UsersWatchlist
.UsersWatchlist
.password
,UsersWatchlist
.birthday
,UsersWatchlist
.gender
,UsersWatchlist
.group_id
,UsersWatchlist
.banned
,UsersWatchlist
._476_,UsersWatchlist
._476_.reelstubs
.users
КАКUsersWatchlist
ПРИСОЕДИНИТЬСЯreelstubs
.users
КАКUsersWatchlist
ВКЛ (UsersWatchlist
.movie_id
= 4 ИUsersWatchlist
.user_id
=UsersWatchlist
.id
)Примечание. Если вы хотите настроить это сообщение об ошибке, создайте app\View\Errors\pdo_error.ctp.
Модель пользователей
public $hasAndBelongsToMany = array(
'UsersWatchlist' => array(
'className' => 'Movie',
'joinTable' => 'users_watchlists',
'foreignKey' => 'user_id',
'associationForeignKey' => 'movie_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
Киномодель
public $hasAndBelongsToMany = array(
'UsersWatchlist' => array(
'className' => 'User',
'joinTable' => 'users_watchlists',
'foreignKey' => 'movie_id',
'associationForeignKey' => 'user_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
Список наблюдения пользователей
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Movie' => array(
'className' => 'Movie',
'foreignKey' => 'movie_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Не уверен, почему он пытается получить имя и т. Д. Из UsersWatchlist.