Можно ли связать модели с текущими временными условиями?

1

Можно ли получить две модели, связанные с текущим временем?

<?php

class SomeModel extends AppModel {

    public $hasOne = array(
        'ForumBan',
        'ForumBanActive' => array(
            'className' => 'ForumBan',
            'conditions' => array('ForumBanActive.end_time >' => time()) // fatal error
        ),
    );
}

Я не хочу добавлять это условие каждый раз, когда я find на модели ForumBan.

Теги:
cakephp
associations
cakephp-2.0

2 ответа

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

как я сказал, спасибо @burzum за советом, но копировать прошлое решение из моего ответа не круто, стыдно за вас!

После ответа @burzum я получил желаемый результат.

public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table, $ds);
    $this->hasOne['ForumBanActive']['conditions'] = array('ForumBanActive.end_time >' => time()));
}

public $hasOne = Array(
    'ForumBan',
    'ForumBanActive' => array('className' => 'ForumBan'),
    'UserFile',
    'BlogProfile',
);
1

Основной урок в php OOP: вы не можете вызывать методы и функции в объявлениях свойств объекта. http://php.net/manual/en/language.oop5.properties.php

Установите связь в методе __construct() модели или используйте bindModel():

public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table, $ds);
    $this->hasOne['ForumBanActive']['conditions'] = array('ForumBanActive.end_time >' => time()));
}

public $hasOne = Array(
    'ForumBan',
    'ForumBanActive' => array('className' => 'ForumBan'),
    'UserFile',
    'BlogProfile',
);
  • 1
    Спасибо за помощь, но почему вы перепостите мой ответ?

Ещё вопросы

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