1
taxonomies
 -id
 -name

taxonomy_type
 -taxonomy_id
 -type_id

2 つのモデルを構成しました。

class Model_Taxonomy{
protected $_has_many = array('types'=>array());
}

class Model_Taxonomy_Type{
protected $_belongs_to = array('taxonomy' => array());
}

*taxonomy_type はピボット テーブルではないことに注意してください。*

分類には、複数のタイプを関連付けることができます。

次に、私がやろうとしているのは、特定のタイプ ID に属するすべての分類法を取得することです。これは、私が実行する SQL クエリです。

SELECT * FROM taxonomies, taxonomy_type WHERE taxonomy_type.type_id='X' AND taxonomies.id=taxonomy_type.taxonomy_id

私はこれを試しました:

$taxonomies = ORM::factory('taxonomy')
    ->where('type_id','=',$type_id)
    ->find_all();

明らかにこれは機能しませんが、この種のクエリを実行する方法に関する情報が見つからないため、手がかりがありません.

4

2 に答える 2

0

type_idcolumn は taxonomy_type テーブルの PK ですね。したがって、1 つの (一意の)taxonomy_typeレコードと、1 つの関連taxonomyオブジェクトのみがあります (belongs_to関係のため)。あなたの代わりに:

指定されたタイプ ID に属するすべてのタクソノミーを取得します

それは

指定された型 ID の分類法を取得します

于 2010-10-15T13:05:07.197 に答える