Почему приложение зависает при использовании ключевого слова count в качестве имени функции localScope - PullRequest
0 голосов
/ 29 января 2019

У меня есть класс Reservation в 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();

все работает нормально.

Так почему он обнимается?

1 Ответ

0 голосов
/ 29 января 2019

Вам не нужно добавлять область для count(), кроме того, она уже занята, если только вы не хотите переименовать count в total?

Вы можете просто добавить ->count() вваши запросы, и он вернет int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...