所以我不确定我是否问过这个问题。我是laravel的新手,现在我正在构建一个应用程序,如果满足某些条件,我需要为用户获取数据。这就是我想要实现的目标:
从数据库中选择userid = $ user和userstatus = active或inactive。或待定。 因此,将返回具有用户标识($ user)和状态(活动,非活动和挂起)的所有行。 我试过了:
$users = DB::table('users')
->where('status', '=', 'active')
->orwhere('status', '=', 'inactive')
->orwhere('status', '=', 'pending')
->get();
这返回了该特定表中的所有数据。什么是最好的方法来解决这个问题。
答案 0 :(得分:1)
你可以这样做:
$users = DB::table('users')
->where('userid', $userid)
->whereIn('status',['active', 'inactive','pending'])
->get();
答案 1 :(得分:1)
您至少有两个选项可以使用,包括两个选项,以便在这种情况下使用一个选项,一个用于一般用途。使用创建新块的函数,就像在查询中添加括号一样
$users = DB::table('users')
->where('id', $user)
->where(function($query) {
$query->where('status', 'active')
->orWhere('status', 'inactive')
->orWhere('status', 'pending');
})->get();
或
$users = DB:table('users')->where('id', $user)->whereIn('status', ['active', 'inactive', 'pending')->get();