繁体   English   中英

如果在 Laravel 的第二个表中不匹配,则无法获取记录

[英]Cannot get record if not matched in second table in Laravel

我正在使用 laravel 我想从第一个表中获取记录,即使它不存在于第二个表中,但现在我只在两个表中都存在时才获取记录:

$module=DB::table('r_module')->leftJoin('r_perm','r_perm.module_id','=','r_module.id')->where('r_perm.role_id',$id)->orWhereNull('r_perm.role_id')->get();

像这样尝试:

$module=DB::table('r_module')
   ->leftJoin('r_perm','r_perm.module_id','=','r_module.id')
   ->where('r_perm.role_id', $id)
   ->orWhere('r_perm.role_id', 'IS NULL')
   ->get();

您还可以使用 'dd()' 函数调试该查询,如下所示:

dd(DB::table('r_module')
   ->leftJoin('r_perm','r_perm.module_id','=','r_module.id')
   ->where('r_perm.role_id', $id)
   ->orWhere('r_perm.role_id', 'IS NULL')
   ->toSql());

这应该会让你走上正轨,让它在你需要的时候生成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM