【发布时间】:2021-09-29 19:33:53
【问题描述】:
我有两张表 company 和 courses 表 该表有以下字段
companies table
id, full_name, email, deleted_at
和课程表
courses table
id, company_id, course_name,deleted_at
现在我想检索所有未删除公司的课程。所以在我的控制器中我添加了
public function index(Request $request){
$query = Courses::query();
$query = $query->leftJoin('companies','companies.id','=','courses.company_id');
$query->whereNull('companies.deleted_at');
if($request->get('filter_name')){
$query = $query->where('courses.name', 'like', '%' . $request->get('filter_name') . '%');
}
return response()->json($query->paginate($request->get("perPage")));
}
当我运行上述程序时,它会返回公司数据而不是课程。我哪里出错了或者我错过了什么?
【问题讨论】:
-
它仍然给我这个问题。我正在为此使用 laravel lumen。
-
$query = Courses::query(); $query->leftJoin('companies','companies.id','=','courses.company_id'); $query->whereNull('companies.deleted_at'); if($request->get('filter_name')){ $query->where('courses.name', 'like', '%' . $request->get('filter_name') . '%'); } 这是你尝试过的查询吗?在之前的评论中我有其他查询所以
-
是的,它仍然是同样的问题。
-
你想要这个
'Now i would like to retrieve all courses which company is not deleted'。将查询$query->whereNull('companies.deleted_at');重写为$query->whereNotNull('companies.deleted_at');
标签: laravel eloquent laravel-8 lumen lumen-8