Laravel-查询问题的位置
假设我有一个表Laravel-查询问题的位置,laravel,eloquent,Laravel,Eloquent,假设我有一个表User,其中有一列名为gender,和age。说我想得到所有18岁的女人。在文档中,它说我可以 public function scopeGender($query, $gender) { return $query->where('gender', '=', $gender); } public function scopeAge($query, $age) { return $query->where('age', '=', $age); }
User
,其中有一列名为gender
,和age
。说我想得到所有18岁的女人。在文档中,它说我可以
public function scopeGender($query, $gender) {
return $query->where('gender', '=', $gender);
}
public function scopeAge($query, $age) {
return $query->where('age', '=', $age);
}
然后从User::gender('F')->age(18)->get()获取我的结果
这个很好用。但文档中也包含此实现:
public function scopeWoman($query) {
return $query->whereGender('F');
}
我想对age
做同样的事情,使用:
public function scopeAge($query, $age) {
return $query->whereAge($age);
}
但现在我明白了
Illumb\Database\Query\Builder::where()缺少参数2
为什么?change您尝试将“scopeAge”更改为“scopeOther”,然后运行->other(18)-这样行吗?我想知道scopeAge()和Where()是否冲突…?不,没有。我仍然会收到相同的错误。奇怪的是,如果我使用Where id($id)
它确实与id一起工作。