У меня после отношений пользователей (номер, имя, адрес электронной почты, ...) фильмы (номер, имя, ...) users_watchlists (идентификатор, user_id, movie_id)CakePHP Синтаксическая ошибка или нарушение прав доступа
Его отношение HABTM.
Ошибка
Error: SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'UsersWatchlist'
SQL Query: 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
.created
,UsersWatchlist
.modified
FROMreelstubs
.users
ASUsersWatchlist
JOINreelstubs
.users
ASUsersWatchlist
ON (UsersWatchlist
.movie_id
= 4 ANDUsersWatchlist
.user_id
=UsersWatchlist
.id
)Notice: If you want to customize this error message, create 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' => ''
)
);
UsersWatchlist
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Movie' => array(
'className' => 'Movie',
'foreignKey' => 'movie_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Не знаю, почему его пытаются извлечь имя и т.д. из UsersWatchlist
Похоже, у вас есть две таблицы, которые имеют одно и то же «имя». –
Я заметил, что вы отправили много других вопросов с одной и той же моделью, но содержали исправления, о которых я упоминал в своем ответе. Могу ли я сделать вывод, что мой ответ помог вам? – nIcO