Undefined index, как исправить ошибку?

Hello guys!!!
$positions =[
	1=>Yii::t('Ui','Председатель махала'),
	2=>Yii::t('Ui','Секретарь'),
	3=>Yii::t('Ui','Советник'),
	4=>Yii::t('Ui','Участковый')];
?>
</div><!-- search-form -->
<?php $this->widget('bootstrap.widgets.TbGridView',array(
	'id'=>'ref-employees-mahala-grid	',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id',
		array('name'=>'mahala_id', 'value'=>'$data->mahala->name_ru'),
		array('name' => 'position_type','value'=> $positions[$model->position_type]),
		'full_name_ru',
		'full_name_uz',
		'full_name_en',
		array(
			'class'=>'bootstrap.widgets.TbButtonColumn',
		),
	),
)); ?>

в $model->position_type хранятся числа 1,2,4
В других вишках все норм работает тут не понятно почему ?
Ошибка
Undefined index:

/var/www/alex/admin/protected/views/refEmployeesMahala/admin.php(53)

41     2=>Yii::t('Ui','Секретарь'),
42     3=>Yii::t('Ui','Советник'),
43     4=>Yii::t('Ui','Участковый')];
44 ?>
45 </div><!-- search-form -->
46 <?php $this->widget('bootstrap.widgets.TbGridView',array(
47     'id'=>'ref-employees-mahala-grid    ',
48     'dataProvider'=>$model->search(),
49     'filter'=>$model,
50     'columns'=>array(
51         'id',
52         array('name'=>'mahala_id', 'value'=>'$data->mahala->name_ru'),
53         array('name' => 'position_type','value'=> $positions[$model->position_type]),
54         'full_name_ru',
55         'full_name_uz',
56         'full_name_en',
57         array(
58             'class'=>'bootstrap.widgets.TbButtonColumn',
59         ),
60     ),
61 )); ?>
  • Вопрос задан
  • 597 просмотров
Пригласить эксперта
Ответы на вопрос 3
@PapaStifflera
Родился, вырос...
Потому, что значение value в строке 53 задано неверно. Для примера можешь посмотреть строку 52 и документацию.
Ответ написан
Комментировать
@maxyc_webber
Web-программист
или $model->position_type пусто или там нуль или более 4
Ответ написан
Комментировать
@pantsarny
у тебя $model - объект для фильтра, внутри TbGridView в итерации текущий объект доступен по переменной $data.

function getPosition(id)
{
 $positions = [
  1=>Yii::t('Ui','Председатель махала'),
  2=>Yii::t('Ui','Секретарь'),
  3=>Yii::t('Ui','Советник'),
  4=>Yii::t('Ui','Участковый')];
  return $positions[id];
}


53:
array('name' => 'position_type','value'=> 'getPosition($data->position_type)'),


По хорошему данная функция должна быть методом модели.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы