我在php Laravel 5中有预订类。 我创建localScope查询。 当我使用特殊的字数统计时,该字数总计是作用域函数名称中的总和,我的应用程序挂断了。 当我将函数名称更改为类似于total之类的关键字时,一切正常。 为什么当我使用特殊关键字时应用程序挂起?过程如何运作。堆栈溢出 ?
class Reservation extends Model
{
public function scopecount($query){
return $query->count();
}
}
我将其返回为:
$count = Reservation::currentMonth()->count();
我的函数currentMonth:
public function scopecurrentMonth($query){
return $query->where('date_from','>=', Carbon::now()->startOfMonth())
->where('date_to','<=', Carbon::now()->endOfMonth());
}
那为什么挂呢? 当我将名称计数更改为总数时:
public function scopetotal($query){
return $query->count();
}
和
$count = Reservation::currentMonth()->total();
一切正常。
那为什么挂呢?
答案 0 :(得分:1)
您不需要为count()
添加一个范围,而且它已经被占用,除非您要将count
重命名为total
?
您只需将->count()
添加到查询中,它将返回int
。