如何在Yii2 ActiveRecord中获取属性标签

时间:2015-11-16 09:37:55

标签: activerecord yii2

如何在Yii2中获取属性标签?

我在Yii2 doc中找到了这个函数getAttributeLabel() here,我在控制器中使用它。但这是一个错误:

Call to undefined function app\controllers\getAttributeLabel()

3 个答案:

答案 0 :(得分:15)

$task = new Task();

//to get single attribute label
$label = $task->getAttributeLabel('task_title');

//to get all attribute label
$labels = $task->attributeLabels();

答案 1 :(得分:8)

试试这个

$model          =   new ModelName();
print_r($model->attributeLabels());

如果您使用上面的代码,您可以获得一个包含模型的所有属性标签的数组

答案 2 :(得分:3)

由于Yii 2.0.13 ActiveRecord实现了StaticInstanceInterface,因此您可以使用instance()来获取模型的静态实例。使用它应该更干净,更有效,手动创建模型实例以使用其非静态方法。

$singleLabel = MyModel::instance()->getAttributeLabel('my_attribute');

$allLabels = MyModel::instance()->attributeLabels();