2013-05-13 2 views
0

Как я могу изменить код view.php (как автогенерировано Gii of Yii framework), чтобы показать ссылку на другой объект (с заголовком и ссылкой) вместо простого числового идентификатора?Yii: Ссылка на другой объект

<b><?php echo CHtml::encode($data->getAttributeLabel('employee')); ?>:</b> 
<?php echo CHtml::encode($data->employee); ?> 
<br /> 

я могу сделать это с findByPk и CHtml::link, но, возможно, есть более короткий путь? Пожалуйста, дайте мне кратчайший код для этого.

ответ

2

Предполагая, что маршрут для просмотра работника является employee/view и его имя хранится в name и его идентификатор в id, самый короткий способ кодирования было бы:

CHtml::link(CHtml::encode($data->employee->name), array('employee/view', 'id' => $data->employee->id)); 
1

Вы также можете использовать createUrl:

<?php 
echo CHtml::link(CHtml::encode($data->employee), 
    Yii::app()->createUrl('/model/view', array(
     'id' => $data->employee->id 
)); 
?> 

не забудьте:

  • заменить model с именем вашей модели,
  • изменить действие своего действия в контроллере
Смежные вопросы