Yii zii.widgets.grid.CGridView настраиваемое поле

Я новичок в YII. На странице admin.php моего просмотра заблокированных рекрутеров у меня есть виджет CGridView. Кандидат_ид является внешним ключом таблицы кандидатов. Таким образом, теперь в заблокированном виде рекрутера по умолчанию добавляется кандидат-идентификатор. Но я хочу показать имя кандидата здесь, которое находится в таблице кандидатов. чтобы получить имя кандидата по кандидату_ид, я должен использовать Candidate::model()->findByAttributes('id'=>$candidate_id)->name; Но я не могу использовать код, в основном я не знаю, как мне его использовать.

Код в admin.php страницы просмотра заблокированных рекрутеров.

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'blocked-recruiter-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'candidate_id',
        'recruiter_id',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
));

Поэтому, пожалуйста, помогите, чтобы получить candidate_name здесь установлено candidate_id,

Благодарю вас.

1 ответ

Решение

В вашей модели заблокированного рекрутера, BlockedRecruiter я предполагаю, определите отношение candidate как это:

public function relations() {
    return array(
        'candidate'=>array(self::BELONGS_TO, 'Candidate', 'candidate_id'),
    );
}

Вы можете получить доступ к имени кандидата в вашем GridView с помощью candidate.name вместо candidate_id

Другие вопросы по тегам