簡體   English   中英

Kohana3 ORM:加載鍵/值屬性

[英]Kohana3 ORM: loading Key/Value Attributes

我有兩個MySQL表(過於簡化):

articles
- id
- description

article_attributes
- article_id
- attribute_name
- attribute_value

因此,每篇article都可以具有無限數量的attributes 對於articles我有一個Kohana_ORM模型

<?php class Model_Article extends ORM {} ?>

加載模型時,我想訪問所有屬性。

例:

<?php
$article = new Model_Article(1); // or ORM::factory('article', 1);
echo $article->description;
echo $article->attribute->foo;
echo $article->attribute->bar;
?>

有人可以指出正確的方向如何實現這一目標嗎?

我認為您需要創建2個模型,每個表一個,然后定義它們之間的關系。

嘗試這個,

class Model_Article extends ORM
{
    protected $_has_many = array('attributes' => array());
}

class Model_Atribute extends ORM
{
    protected $_table_name = 'article_attributes';
    protected $_belongs_to = array('article' => array());
}

那你就可以做到

$article = ORM::factory('article', 1);
$article_attributes = $article->attributes->find_all();

我不知道您是否解決了這個問題,但希望這個答案對您有所幫助。

您應該閱讀Kohana ORM指南 它對待一對一,一對多(您的情況)以及多對多關系。 我沒有在此處復制粘貼代碼,因為有很多地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM