例如,如果我有这个:
$user = User::where('color', 'red')
->get();
如何查询此变量,例如:
$requery = $user->where('age', '25')
->get();
感谢。
答案 0 :(得分:0)
首先不要调用get()
。
$user_query = User::where('color', 'red');
现在:
$users = $user_query->get(); // to get all color red
$users = $user_query->where('age', '25'); // to get all color red of age 25
get()
执行实际查询。在调用该方法之前,您可以继续修改查询,添加查询等等。
如果您已经执行了查询,则调用get()
,并且您不再拥有Laravel集合,而是普通数组。您可以创建一个这样的新集合:
$users = collection($users);
用这个"过滤"使用wheredocs方法:
$users_of_age = collection($users)->where("age", 25);
我更喜欢我的模型返回查询而不是实际项目。这样你就可以修改你的控制器中的查询,比如分页,或者其他什么。