SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1066 Не уникальная таблица / псевдоним в laravel - {5.7} - PullRequest
0 голосов
/ 05 января 2019


Я новичок в Laravel.
Теперь я учу отношения с частью Laravel.
Я вижу много вопросов, как это! Но никакой ответ мне не подходит.
Я вижу эту ошибку:

SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'tbl_education_iteams' (SQL: select * from `tbl_education_iteams` inner join `tbl_education_iteams` on `tbl_education_groups`.`id` = `tbl_education_iteams`.`group`)

Я написал свой запрос в контроллере:

$education_iteam = DB::table('tbl_education_iteams')
->join('tbl_education_iteams','tbl_education_groups.id','=','tbl_education_iteams.group')
        ->select()
        ->get();

1 Ответ

0 голосов
/ 05 января 2019

Вы пытаетесь присоединить таблицу к себе. Из-за этого ваша база данных SQL не знает, к какой версии таблицы обращаться; тот, что на левой стороне соединения или справа. Вам необходимо указать псевдоним таблицы на одной стороне соединения, чтобы знать, с какой стороны вы хотите получить данные.

DB::table('tbl_education_iteams')
->join('tbl_education_iteams as other_iteams', 'tbl_education_groups.id', '=', 'other_iteams.group')
->select('other_items.*')
...

Обратите внимание, что с вашим оператором select вам необходимо четко определить, какие поля из какой таблицы нужно получить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...