我有两个名为utilities
和types
的表,我试图从实用程序视图访问类型中的其他字段。例如; $utilities->type->type;
实用程序将have_one
输入
并键入belong_to
实用程序权限吗?
这就是我目前的方式,而不是引用utilities.type_id
将密钥设置为utilities.id
。因此,它为每一行拉出不同的类型,即使它们都是相同的类型。
我应该如何使用Kohana 3.2 ORM来建立我的模型关系。
<?php
class Model_Utility extends ORM {
protected $_has_one = array(
'type' => array(
'model' => 'type',
'foreign_key' => 'type_id',
),
);
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| utility_name | varchar(255) | NO | | NULL | |
| type_id | int(11) | NO | | NULL | |
| contact_name | varchar(255) | NO | | NULL | |
| contact_email | varchar(255) | NO | | NULL | |
| contact_phone | varchar(255) | NO | | NULL | |
+---------------+--------------+------+-----+---------+----------------+
class Model_Type extends ORM {
protected $_belongs_to = array(
'utility' => array(
)
);
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| type_id | int(11) | NO | PRI | NULL | auto_increment |
| type | varchar(255) | NO | | NULL | |
+---------+--------------+------+-----+---------+----------------+
答案 0 :(得分:1)
实用程序belongs_to
类型(utilities
具有type_id
密钥)和类型has_many
实用程序。
PS。您还需要为types
表($_primary_key
属性)定义PK名称。