0

假设我在 Yii 中有一个名为“Anything”的模型类,而我想要的不是字段值,而是字段名称,我该怎么做?

因为使用类似的东西:

$anything = new Anything;
$anything->field_name;

返回该字段的值,这就是这样做的目的,但是,如果您想要的只是字段名称的字符串,您怎么能这样做?

我尝试使用:

$anything->attributes;

但它只返回一个字段名称数组,我想尝试获取一个特定值作为定义的常量。

我想要做的是使用具有特定和实际用途的 $_POST ,所以我不需要使用:

$_POST["Model_name"];

相反,我可以使用:

$_POST[Anything::model()->name][Anything::model()->field_name->name]

这似乎比这里和那里的 "" 和 '' 要好得多。主要是因为我试图在同一个公式中设置不同模型的多个字段集。

所以如果我可以使用:

$_POST[Anything::model()->name][Anything::model()->field_name->name];

$_POST[Something::model()->name][Something::model()->field_name->name]

$_POST[Godspeed::model()->name][Godspeed::model()->field_name->name]

这将节省我将来可能遇到的很多问题。

4

1 回答 1

1
        $strModelName = 'ModelName'; //dynamic - whatever model name you put in it

        $find_id = 3;
        $record = $strModelName::model()->findByPK($find_id); //it's same with ModelName::model()->findByPK(3)

        foreach($record->attributes as $key=>$value){
            var_dump($_POST[$strModelName][$key]); //get value corresponding to given key
        }

顺便说一句,您仍然需要检查模型是否存在 http://www.yiiframework.com/forum/index.php/topic/22790-check-if-model-exists/

于 2013-08-14T05:22:44.803 回答