繁体   English   中英

Kohana 3.2,ORM has_many,belongs_to关系没有引用正确的密钥

[英]Kohana 3.2, ORM has_many, belongs_to relationship not referencing the correct key

我有两个名为utilitiestypes表,我试图从实用程序视图访问类型中的其他字段。 例如; $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    |                |
+---------+--------------+------+-----+---------+----------------+

Utility belongs_to Type( utilities具有type_id键)和Type has_many实用程序。

PS。 您还需要为types表定义PK名称( $_primary_key属性)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM