добавьте новую собственность в образцовом файле активного отчета в Yii

Я новый в структуре Yii и имею вопрос.

У меня есть стол, названный 'узлом', у которого есть эти области:

  • id
  • имя
  • parent_id

parent_id содержат id родителя узла, которые существуют в этом столе также.

Я создал модель, диспетчера и рассматриваю файлы, используя интерфейс Gii. В поле зрения id файлов родителя показывают, но я хочу показать родительское имя вместо его id.

I guess maybe I need to add a public property in model class of this table, so I would be access to it via ->parent_name in view files.

Как я могу сделать это? какие файлы я должен изменить?

0
nl ja de

3 ответы

У вас должен быть Родитель для родитель стол и отношение как:

'parent' => array(self::BELONGS_TO, 'Parent', 'parent_id)

или

'parent' => array(self::BELONGS_TO, 'Node', 'parent_id'),

Если это - отношение к тому же самому столу. И затем вы будете в состоянии получить доступ к родительскому имени как это:

echo CHtml::value($node, 'parent.name'); 
1
добавлено
Я don' у t есть родительская таблица. родитель находится также в столе узла.
добавлено автор hd., источник

У вас должен быть Родитель для родитель стол и отношение как:

'parent' => array(self::BELONGS_TO, 'Parent', 'parent_id)

или

'parent' => array(self::BELONGS_TO, 'Node', 'parent_id'),

Если это - отношение к тому же самому столу. И затем вы будете в состоянии получить доступ к родительскому имени как это:

echo CHtml::value($node, 'parent.name'); 
1
добавлено
Я don' у t есть родительская таблица. родитель находится также в столе узла.
добавлено автор hd., источник

У вас должно быть отношение к вашему родительскому узлу.

Таким образом в вашем Узле:: функция отношений, у вас должно быть что-то как:

'parent' => array(self::BELONGS_TO, 'Node', 'parent_id'),

Чтобы получить эту стоимость от вашего ребенка, можно сделать (предположение, что детскую переменную узла называют $childNode):

echo $childNode->parent->name;

Если вы действительно хотите быть в состоянии сделать...

$childNode->parent_name;

... по некоторым причинам можно создать собственность в модели Node как это:

public function getParent_name()
{
    if ($this->parent == null)
        return '';

    return $this->parent->name;
}

Теперь можно звонить...

$childNode->parent_name;

ИЛИ

$childName->getParent_name();

получить название родительского узла.

1
добавлено
Yii Framework
Yii Framework
1 076 участник(ов)

Russian and english speaker comunity

Yii - вакансии, работа, фриланс
Yii - вакансии, работа, фриланс
264 участник(ов)

Пишите тут свои вакансии, заказы. Просим сразу озвучивать зарплату или бюджет за проект.