繁体   English   中英

是否可以将模型与当前时间条件关联?

[英]Is possible to associate models with current time conditions?

是否可以获取与当前时间条件关联的两个模型?

<?php

class SomeModel extends AppModel {

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

我不想每次我在ForumBan模型上调用find时都添加此条件。

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',
);

就像我说的那样,谢谢@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',
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM