如何在Laravel中使用Join过滤一些数据库记录

时间:2019-05-06 14:55:04

标签: laravel

我在laravel中使用Join,在一部分中得到结果,但是现在我只需要选择一些活动的记录,但是我不能实现。我的查询是这样:

$queryBuilder = $query->parse(
    $queryBuilderJSON, DB::table('tab_person')
    ->where('deleted_at', NULL)
    ->leftJoin('tab_user', 'tab_person.pac_r', '=', 'tab_user.reg_id'));
   // 'tab_user.reg_status', '=', 'A' **I can not implement this condition, how can I do it?**

忽略queryBuilderJSON,我正在使用它来使用查询构建器Query Builder Jquery。我只需要知道如何过滤仅处于活动状态的USER记录(它们由字母“ A”表示),并在代码中注释掉该行。提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用闭包添加多个加入条件:

->leftJoin('tab_user', function ($query) {
    $query->on('tab_person.pac_r', '=', 'tab_user.reg_id');
    $query->where('tab_user.reg_status', '=', 'A');
});

您可以在Laravel Docs中了解有关高级连接子句的更多信息。