Laravel - SELF :: использование в моделях - PullRequest
0 голосов
/ 26 мая 2020

, поэтому у меня есть эта модель, в которой определено только $ fillable , в ней нет $ table .

Модель имеет эту функцию:

public static function gamesToday()
{
    return self::where('status', self::STATUS_FINISHED)->where('created_at', '>=', Carbon::today())->count();
}

Модель работает правильно и возвращает правильное значение, но как она узнает, из какой таблицы вернуть значение?

Есть ли способ определить $ table в другом месте ?

Или я неправильно понимаю, как работает self::?

EDIT:

В представлениях он используется так:

<div class="totalGamesPlayed">{{ \App\Game::gamesToday() }}</div>

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Это зависит от имени вашего класса. Пример: модель User, класс User внутри User.php Если в модели нет свойства table, таблица задается как имя класса в нижнем регистре во множественном числе - таблица users https://laravel.com/docs/7.x/eloquent#eloquent - условные обозначения моделей

0 голосов
/ 26 мая 2020

Он вернет совпадающие записи из текущей модели, в которую вы поместили этот метод. Вы можете указать имя таблицы для модели, используя ее свойство protected $ table.

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