2016-02-13 5 views
1

Я установил расширение, в котором отображаются изменения в занавесках базы данных. Audit_trail by bedezign.Отображение ярлыков атрибутов вместо имен атрибутов в выводе расширения аудита Yii2

Он сохраняет все изменения в таблице. Есть поле модели, полевое поле и т. Д.

Значения поля «Модель» похожи на «приложение/модель/запрос».
Значения поля «Поле» - это имена полей.

Я хочу отображать метки полей вместо имен.

Я пытался реализовать это следующим образом:

$m = $model->model; 
return $m::getAttributeLabel($model->field); 

У меня есть следующее сообщение об ошибке:

Calling unknown method: yii\web\View::attributeLabels()

Я думаю, это потому, что мои переменные $ м не понимаются как класс, но как простая строка. Есть ли способ обойти это?

ответ

1

Метод getAttributeLabel() находится в самой модели, а входной - строка.

http://www.yiiframework.com/doc-2.0/yii-db-baseactiverecord.html#getAttributeLabel()-detail

public string getAttributeLabel ($attribute)

Так что попробуйте $model->getAttributeLabel('fieldName')

+0

К сожалению, не могу понять, как это отличается от моего кода. – Marat

+0

Вы делаете '$ m' из' $ model', поэтому '$ m' является подмножеством вашего фактического объекта модели. И вы вызываете его со статической функцией-caller '::' –