0
在Yii中是否有類型模型的內置支持?例如,如果我有一個名爲Flashlight,Lock和Folder的類,它們都擴展了我的Product活動記錄模型,並且我想通過Yii關係確定它是類型類而不是通用類型,那麼我該怎麼做?獲取基於類型的Yii模型類
目前我正在覆蓋__call,我對此並不滿意。我覺得這可能是一種常見的需求。
在Yii中是否有類型模型的內置支持?例如,如果我有一個名爲Flashlight,Lock和Folder的類,它們都擴展了我的Product活動記錄模型,並且我想通過Yii關係確定它是類型類而不是通用類型,那麼我該怎麼做?獲取基於類型的Yii模型類
目前我正在覆蓋__call,我對此並不滿意。我覺得這可能是一種常見的需求。
基本上你覆蓋模型的instantiate方法返回你所需要的類:
// protected/models/Product.php
protected function instantiate($attributes){
switch($attributes['type']){
case 'flashlight':
$class='Flashlight';
break;
case 'lock':
$class='Lock';
break;
case 'folder':
$class='Folder';
break;
default:
$class=get_class($this);
}
$model=new $class(null);
return $model;
}
同意,它的作品真的很好:-) – acorncom