Laravel elequent pivot table 使用 where
Laravel elequent pivot table using where
如何使用 Laravel 来做这样的事情:
表格:
projects:
id,name, active
pivot table: project_users
id, project_id, user_id
如果我这样做,我会得到很好的结果,包括项目的所有用户
Project::with('users')->where('active', '=', 1)->get();
但是我如何过滤用户和活跃用户?像 ?
Project::with('users')->where('active', '=', 1)->where('users',=,3)->get();
或 ??
Project::with('users')->where('active', '=', 1)->where('users.user_id',=,3)->get();
如果你想限制 table 中的行你是预加载那么你可以添加约束到预加载,你可以在 $query
上执行你通常的 QueryBuilder
操作.因此,在您的示例中,我们可以执行以下操作:
Project::with(['users' => function($query)
{
$query->where('user_id', '=', 3);
}])->where('active', '=', 1)->get();
这是假设 active
在预加载之前可供您的初始 table 访问。
如何使用 Laravel 来做这样的事情:
表格:
projects:
id,name, active
pivot table: project_users
id, project_id, user_id
如果我这样做,我会得到很好的结果,包括项目的所有用户
Project::with('users')->where('active', '=', 1)->get();
但是我如何过滤用户和活跃用户?像 ?
Project::with('users')->where('active', '=', 1)->where('users',=,3)->get();
或 ??
Project::with('users')->where('active', '=', 1)->where('users.user_id',=,3)->get();
如果你想限制 table 中的行你是预加载那么你可以添加约束到预加载,你可以在 $query
上执行你通常的 QueryBuilder
操作.因此,在您的示例中,我们可以执行以下操作:
Project::with(['users' => function($query)
{
$query->where('user_id', '=', 3);
}])->where('active', '=', 1)->get();
这是假设 active
在预加载之前可供您的初始 table 访问。