首页 > 解决方案 > SQLSTATE [23000]:违反完整性约束:1052 where 子句中的列 'id' 不明确

问题描述

当我在 Laravel 中使用另一个表的 id 显示表的名称时,我这样声明。但是当我想编辑 id 时,错误就像标题一样。请帮助我,我非常感激。

Controller 公共功能管理部门(){

    $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);
}

标签: laravellaravel-6

解决方案


select的查询生成器中没有。正如laravel doc所说,您可以在方法中指定要选择的内容select。我选择faculties.iddepartments.id例如。

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

推荐阅读