我是Yii框架中的新成員並且有問題。在Yii的活動記錄的模型文件中添加新屬性
我有一個名爲 '節點' 表,該表具有以下字段:
- ID
- 名
- PARENT_ID
PARENT_ID包含一個節點的父的ID存在於這個桌子也是。
我已經使用Gii界面創建了模型,控制器和視圖文件。在查看父文件的id文件顯示,但我想顯示父母的名稱,而不是它的ID。
我想也許我需要在這個表的模型類中添加一個公共屬性,所以我將通過視圖文件中的 - > parent_name來訪問它。
我該怎麼辦?我應該更改哪些文件?
我是Yii框架中的新成員並且有問題。在Yii的活動記錄的模型文件中添加新屬性
我有一個名爲 '節點' 表,該表具有以下字段:
PARENT_ID包含一個節點的父的ID存在於這個桌子也是。
我已經使用Gii界面創建了模型,控制器和視圖文件。在查看父文件的id文件顯示,但我想顯示父母的名稱,而不是它的ID。
我想也許我需要在這個表的模型類中添加一個公共屬性,所以我將通過視圖文件中的 - > parent_name來訪問它。
我該怎麼辦?我應該更改哪些文件?
你應該和父節點有關係。
所以在您的節點::關係的功能,你應該是這樣的:
'parent' => array(self::BELONGS_TO, 'Node', 'parent_id'),
爲了讓您的孩子這個值,你可以做(假設你的子節點變量命名爲$ childNode):
echo $childNode->parent->name;
如果你真的希望能夠做到......
$childNode->parent_name;
...出於某種原因,你可以這樣建立在你的節點模型屬性:
public function getParent_name()
{
if ($this->parent == null)
return '';
return $this->parent->name;
}
現在你可以調用...
$childNode->parent_name;
OR
$childName->getParent_name();
獲取父節點的名稱。
你應該有一個家長對parent
表和關係,如:
'parent' => array(self::BELONGS_TO, 'Parent', 'parent_id)
或
'parent' => array(self::BELONGS_TO, 'Node', 'parent_id'),
如果它是關係到同一個表。然後你就可以像這樣訪問父級名稱:
echo CHtml::value($node, 'parent.name');
我沒有父表。父母也在節點表中。 –