Допустим, у меня есть модель Скриншот с date
столбец, который определяет, когда был сделан снимок экрана. У меня также есть модель GameVersion с start_date
а также end_date
методы экземпляра, определяющие начало и конец данной версии.
Если я хочу screenshots
ассоциация для каждого GameVersion, которая возвращает все скриншоты, сделанные между start_date()
а также end_date()
Могу ли я сделать что-нибудь подобное?
static $has_many = [
['screenshots', 'conditions' => ['date >= ? AND date <= ?', $this->start_date(), $this->end_date()]],
];
Если я попробую это, я получу:
Parse error: syntax error, unexpected '$this' (T_VARIABLE), expecting ']'
В Ruby on Rails это достигается примерно так:
has_many :birthday_events, ->(user) { where starts_on: user.birthday }, class_name: 'Event'
Вы не можете использовать $this
со статическими членами, используйте self::
вместо.
Других решений пока нет …