【问题标题】:Get all value including null value [duplicate]获取所有值,包括空值[重复]
【发布时间】:2021-11-22 05:25:57
【问题描述】:

在我的 coordinator_status 列中,有值和空值。当我运行此代码时,它仅返回具有值的代码。我也想得到空值,但我不知道怎么做。

$coordetails = DB::table('courselist')
                        ->join('users','users.id','=','courselist.coordinator')
                        ->join('status','status.id','=','courselist.coordinator_status')
                        ->select('courselist.id','users.name','status.status')
                        ->where('courselist.faculty_id','=',$facultyid)
                        ->get();

【问题讨论】:

  • 你试过左连接吗?
  • 这不是 Laravel 的问题,这是一个基本的 SQL 问题(这些年来在 Stack Overflow 上已经解决了很多次)。

标签: php laravel


【解决方案1】:

为此,您应该使用leftJoin:

$coordetails = DB::table('courselist')
                        ->leftJoin('users','users.id','=','courselist.coordinator')
                        ->leftJoin('status','status.id','=','courselist.coordinator_status')
                        ->select('courselist.id','users.name','status.status')
                        ->where('courselist.faculty_id','=',$facultyid)
                        ->get();

LEFT JOIN关键字返回左表的所有记录,如果有匹配的右表记录。

【讨论】:

    【解决方案2】:

    根据我的说法,如果您想获取 null 并重视这两个数据,您必须使用 left join 而不是 join

    你可以在 laravel 网站join in laravel找到文档

    如果你想获得加入用户的课程列表

    DB::table('courselist')
    ->select('courselist.id','users.name','status.status')
    ->join('users','users.id','=','courselist.coordinator')
    ->leftJoin('status','status.id','=','courselist.coordinator_status')
    ->where('courselist.faculty_id','=',$facultyid)
    ->get();
    

    如果你想在没有用户关系的情况下获取所有课程列表数据,那么

    DB::table('courselist')
    ->leftJoin('users','users.id','=','courselist.coordinator')
    ->leftJoin('status','status.id','=','courselist.coordinator_status')
    ->select('courselist.id','users.name','status.status')
    ->where('courselist.faculty_id','=',$facultyid)
    ->get();
    

    和sql查询会像

    选择 * FROM testDb.course LEFT JOIN testDb.status ON testDb.course.status=testDb.status.id;

    【讨论】:

    • 这个建议不是早一个小时就已经给出了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2022-01-15
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多