在模型类-YII框架中创建动态属性和属性

在模型类-YII框架中创建动态属性和属性,yii,Yii,我试图从一个表值作为列在模型类中创建动态属性、属性和规则 假设我有一个名为“XXX”的表,它有一列“Name”,现在我想使用存储在DB中的名称值创建一个包含规则、属性和属性的模型类 我是YII框架的新手,有人能给我这个想法吗?这是我很快模仿的东西,我希望它能为你指明正确的方向 $sql="SELECT 'Name' FROM XXX"; $names =$connection->createCommand($sql)->query()->readAll(); $myDynam

我试图从一个表值作为列在模型类中创建动态属性、属性和规则

假设我有一个名为“XXX”的表,它有一列“Name”,现在我想使用存储在DB中的名称值创建一个包含规则、属性和属性的模型类


我是YII框架的新手,有人能给我这个想法吗?

这是我很快模仿的东西,我希望它能为你指明正确的方向

$sql="SELECT 'Name' FROM XXX";
$names =$connection->createCommand($sql)->query()->readAll();

$myDynamicObject = new DynamicModel($names);

class DynamicModel extends CModel
{
    protected $_members = array();


    public function __construct($nameFields)
    {
        foreach ($nameFields as $member) {
            $this->_members[$member] = null;
        }

        parent::__construct();
    }

    /**
     * @return array validation rules for model attributes.
     */
    public function rules()
    {
        $allMembers = implode(', ', array_keys($this->_members));
        return array(
            array($allMembers, 'required'),
        );
    }

    public function __get($attribute)
    {

        if (in_array($attribute, array_keys($this->_members))) {
            return $this->_members[$attribute];
        } else {
            return parent::__get($attribute);
        }
    }

    public function __set($attribute, $value)
    {
        if (in_array($attribute, array_keys($this->_members))) {
            return $this->_members[$attribute] = $value;
        } else {
            return parent::__set($attribute, $value);
        }
    }

    public function getAttributes()
    {
        return $this->_members;
    }

    public function setAttributes($attributes)
    {
        $this->_members = $attributes;
    }

}

我将模拟sonething,让您朝正确的方向前进,给我10分钟时间我遇到了这个错误致命错误:在D:\xampp\htdocs\ccvv7\protected\models\DynamicModel.php联机中找不到类'COutputProcessor'56@Manadh:不知道为什么,我不认为这与我写的前两行代码有任何关系?正如我所说的,不要把它当作剧本,用它作为创作自己剧本的灵感