【发布时间】:2013-06-13 09:05:01
【问题描述】:
我有一个带有一些基本值的模型类,现在我想用一个计算的 ID 字段来扩展它。在我的系统中,我们为每个实体使用一个 ID,其中包含实体的类型和数据库中的自动增量 ID。
我需要一个参数,现在调用它$cid(计算的 id),它是在初始化时设置的。
我尝试在 init/model 函数中设置它,但我得到了Property "Product.cid" is not defined. 异常。
我已经尝试创建一个函数:
public function _cid($value = null) {
if($value == null){
return $this->cid;
}else{
$this->cid = $value;
return $this->cid;
}
}
我应该如何扩展我的模型以将此值作为模型的参数?
更新
Jon 回答得非常好,the official docs 真的很有帮助。但是,有了这个解决方案,现在只调用 getCid 函数,当我独立调用它时。当我通过模型的getAttributes($model->safeAttributeNames)(或getAttributes(array('cid')))调用它时,我得到null 作为$model->cid 的值,并且不调用getCid 方法。 (属性设置为安全)
【问题讨论】: