SQLSTATE[23000]: нарушение ограничения целостности: идентификатор столбца 1052 в предложении where неоднозначен

#laravel #laravel-6

#laravel #laravel-6

Вопрос:

Когда я отображаю имя таблицы, используя идентификатор другой таблицы в Laravel, я объявляю так. Но когда я хочу получить идентификатор для редактирования, ошибка похожа на заголовок. Пожалуйста, помогите мне, я очень благодарен.

Controller общедоступная функция manage_departments(){

     $manage_departments=DB::table('departments')
    ->join('faculties','faculties.id','=','departments.faculty_id')
    ->orderBy('departments.created_at','desc')->get();

    $all_manage_departments=view('admin.manage-departments')->with('manage_departments', $manage_departments);

    return view('layouts.master')->with('admin.manage-departments', $all_manage_departments);
}
 

Ответ №1:

У вас нет select в вашем конструкторе запросов. Как сказал laravel doc, вы можете указать, что вы хотите выбрать в select методе. Я выбираю faculties.id и departments.id для примера.

 DB::table('departments')
    ->select('faculties.id','departments.id')
    ->join('faculties','faculties.id','=','departments.faculty_id')
    ->orderBy('departments.created_at','desc')->get();