我有兩個表格(項目/標籤)。項目具有並且屬於許多標籤 - 標籤具有並且屬於許多項目。Kohana ORM在多對多關係中獲得一個記錄
這是沒有問題的,我獲取所有相關的標籤,如:
$item = ORM::factory('item', 4);
foreach($item->tags as $tag){....}
但我如何可以獲取只有一個...也許一個特定的一個?
在此先感謝!
我有兩個表格(項目/標籤)。項目具有並且屬於許多標籤 - 標籤具有並且屬於許多項目。Kohana ORM在多對多關係中獲得一個記錄
這是沒有問題的,我獲取所有相關的標籤,如:
$item = ORM::factory('item', 4);
foreach($item->tags as $tag){....}
但我如何可以獲取只有一個...也許一個特定的一個?
在此先感謝!
在Kohana中3,你可以這樣做:
$item = ORM::factory('item', 4);
$tag = $item->tags->where('somevalue','=',$value)->find();
if($tag->loaded()) {...}
裏面where()
你把你想要的狀態。
編輯:
我做了一些研究和Kohana的2.3.x版本的where
語法是不同的,而不是where('somevalue', '=', $value)
你應該寫where('somevalue', $value)
。或where('somevalue >', $value)
,where('somevalue !=', $value)
等
感謝您的幫助。但我不知道我在做什麼錯,但它給了我下面的錯誤信息。看起來表格並不是內部加入的。 「有一個SQL錯誤:'where子句'中的未知列'item_id' - SELECT'tags'。* FROM('tags')WHERE'item_id' ='='ORDER BY'tags'.'name' ASC LIMIT 0 ,1「我使用btw。 kohana v2.3.4 – n00b 2010-04-28 14:02:49
也許這是我的錯誤,我認爲標籤'belongs_to'項目。我會編輯答案。 – dusan 2010-04-28 14:13:57
你碰巧知道如何在kohana 2.3.x中做到這一點? – n00b 2010-04-29 08:36:04
你怎麼知道你想要哪一個?如果你有你想要的標準,你應該使用自己的ORM方法加載標籤,而不是通過項目。 – 2010-04-28 12:42:46