Kohana ORM:根据外部表的值获取结果
我配置了两种型号:Kohana ORM:根据外部表的值获取结果,orm,kohana-3,kohana-orm,Orm,Kohana 3,Kohana Orm,我配置了两种型号: taxonomies -id -name taxonomy_type -taxonomy_id -type_id *请注意,分类法类型不是透视表* 分类法可以有多个关联的类型 然后,我要做的是获取属于给定类型id的所有分类法。 这将是我将执行的SQL查询: class Model_Taxonomy{ protected $_has_many = array('types'=>array()); } class Model_Taxonomy_Type{ pr
taxonomies
-id
-name
taxonomy_type
-taxonomy_id
-type_id
*请注意,分类法类型不是透视表*
分类法可以有多个关联的类型
然后,我要做的是获取属于给定类型id的所有分类法。
这将是我将执行的SQL查询:
class Model_Taxonomy{
protected $_has_many = array('types'=>array());
}
class Model_Taxonomy_Type{
protected $_belongs_to = array('taxonomy' => array());
}
我试过这个:
SELECT * FROM taxonomies, taxonomy_type WHERE taxonomy_type.type_id='X' AND taxonomies.id=taxonomy_type.taxonomy_id
显然这不起作用,但我找不到关于如何执行此类查询的信息,所以我没有任何线索。
type\u id
列是分类法类型表的PK,对吗?
因此,您有一个(唯一的)taxonomy\u类型
记录,只有一个相关的taxonomy
对象(因为属于
关系)。而不是您的:
获取所有属于
给定类型id
这将是一场灾难
获取给定类型id的分类法
type\u id
列是分类法类型表的主键,对吗?
因此,您有一个(唯一的)taxonomy\u类型
记录,只有一个相关的taxonomy
对象(因为属于
关系)。而不是您的:
获取所有属于
给定类型id
这将是一场灾难
获取给定类型id的分类法
使用类似的方法:
class Model_Taxonomy{
protected $_belongs_to = array(
'types' => array(
'model' => 'Taxonomy_Type',
'foreign_key' => 'taxonomy_id'
)
);
}
class Model_Taxonomy_Type{
protected $_has_many = array(
'taxonomies' => array(
'model' => 'Taxonomy',
'foreign_key' => 'taxonomy_id'
)
);
}
使用类似的方法:
class Model_Taxonomy{
protected $_belongs_to = array(
'types' => array(
'model' => 'Taxonomy_Type',
'foreign_key' => 'taxonomy_id'
)
);
}
class Model_Taxonomy_Type{
protected $_has_many = array(
'taxonomies' => array(
'model' => 'Taxonomy',
'foreign_key' => 'taxonomy_id'
)
);
}
不完全是这样,taxonomy\u type表的PK都是type\u id和taxonomy\u id字段。所以我真的想得到所有分配了type\u id的分类法。因此,一个分类可以有多种类型,一个类型可以有多个分类。考虑Type ID作为一个简单的字段不是完全正确的,PythOnyLogyType表的PK都是字段Type ID和TraceMySyID。因此,我真的想要得到所有类型都具有Type ID的赋值。因此,分类可以有多种类型,类型可以关联多个分类。
$type = ORM::factory('taxonomy_type')
->where('type_id', '=', $type_id)
->find();
if( ! $type->taxonomies->loaded())
{
types->taxonomies->find_all();
}