我有两个名为utilitiestypes的表,我正试图从Utilities视图访问类型中的其他字段。例如:$utilities->type->type;
实用程序将have_one类型
然后输入belong_to实用程序,对吗?
这就是我现在的方法,而不是引用它的设置键为utilities.type_id。因此,它为每一行提取不同的类型,即使它们都是相同的类型。
我应该如何使用kohana 3.2orm来展示我的模型关系。
公用事业

<?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    |                |
+---------+--------------+------+-----+---------+----------------+

最佳答案

utilitybelongs_to类型(utilities有一个type_id键)和typehas_manyutilities。
另外,还需要为types表($_primary_key属性)定义一个pk名称。

关于php - Kohana 3.2,ORM has_many,belongs_to关系未引用正确的 key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11585917/

10-13 01:39