如何在Yii2中获取属性标签?
我在Yii2 doc中找到了这个函数getAttributeLabel()
here,我在控制器中使用它。但这是一个错误:
Call to undefined function app\controllers\getAttributeLabel()
答案 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();