2012-01-10 19 views
0

Я только начинаю учиться использовать yii и уже успел сделать некоторые основные вещи.Как получить раскрывающийся список Yii от известных пользователей?

Скажем, у меня есть два простых таблиц: «пользователей» и «проекты», где соотношение составляет 1 ко многим (один пользователь может иметь много проектов)

Я создал CRUD с использованием GII, а в «создать/edit user page "это не предоставляет раскрывающийся список, а только текстовое поле, где мне нужно ввести идентификатор пользователя.

При редактировании проекта я хотел бы иметь раскрывающийся список, где я могу выбрать пользователя (поэтому элемент должен отображать список имен пользователей).

Я полагаю, GII не в состоянии генерировать контроллер и вид кода для этого

Что бы наилучшей практики для этого?

я уже объявлял отношения, как указано в http://www.yiiframework.com/doc/guide/1.1/en/database.arr

public function relations() 
{ 
    return array(
     'projects_rel'=>array(self::BELONGS_TO, 'Users', 'user_id'), 
    ); 
} 

и

public function relations() 
{ 
    return array(
     'users_rel'=>array(self::HAS_MANY, 'Projects', 'project_id'), 
    ); 
} 
+0

Почему вы определили отношения в методе public function projects(), все отношения должны идти к методу relations() –

+0

Lapsus manus, мои извинения. Функция является функцией общественных функций() Я исправил исходный пост сейчас – Martin

ответ

6

Найдите примеры кода для создания списка пользователей

<?php 
    $form = $this->beginWidget('CActiveForm', array(
       'id' => 'project-form', 
       'enableAjaxValidation' => true, 
      )); 

?>

<?php echo $form->dropDownList($model, 'user_id', 
       CHtml::listData(Projects::model()->with('projects_rel')->findAll(), 'id', 'username'), 
       array('style'=>'width:150px;') 
       ); ?> 
+0

проголосовать за меня, если вы нашли полезный –

+0

Я нашел вас очень полезным! но, к сожалению, мне меньше 15, чтобы проголосовать за вас. – Martin

3

Checkout эти GII расширение для генерации протяженных CRUDs:

Оба способны визуализировать формы с соотношением inp UTS. GTC использует виджет отношения для этих входов, который можно настроить.

0

Не забудьте раскомментировать

$ this-> performAjaxValidation ($ модель)

на контроллере или вы будете элементы, созданные вместо одного!

Смежные вопросы