Как установить динамическое условие для отношения ORM FuelHP

1

У меня есть отношения "многие ко многим", созданные с использованием топливной фазы ORM.

Псевдокод для отношения выглядит так:

class MyModel extends Model
{
protected static $_many_many = [
    'relatedmodel' => [
        'conditions' => [
            'where' => [
                    ['ctime', '>', DB::expr(('now() - interval 1 week'))],
                ],
            ],
        ]
    ];
}

Идея здесь в том, что я только хочу, чтобы отношения смотрели на новые связанные модели, которые были созданы на прошлой неделе.

Однако это явно не будет работать из-за ограничения языка php - выражение не допускается как значение по умолчанию для поля.

Как я могу получить желаемое поведение в FuelPHP, несмотря на это ограничение?

  • 1
    AFAIK, где условия в отношении фактически используются в JOIN как условие ON. Вы пытались поместить его в "реальное" условие где в запросе? Даже если вы хотите сделать это постоянным условием для всех случаев: вы можете переопределить метод query в Модели, чтобы каждый запрос выполнялся с этим условием.
Теги:
orm
fuelphp
fuelphp-orm

1 ответ

1
Лучший ответ

Работа для ограничения языка здесь заключается в использовании функции автозагрузчика топлива public static _init() для установки значения. Это автоматически вызывается, когда класс загружается автозагрузчиком.

http://fuelphp.com/docs/general/classes.html#/init_method

Ещё вопросы

Сообщество Overcoder
Наверх
Меню