3

名前の付いた2つのテーブルがutilitiesありtypes、ユーティリティビューからタイプ内の他のフィールドにアクセスしようとしています。例えば;$utilities->type->type;

ユーティリティはhave_oneタイプし、タイプはbelong_toユーティリティで正しいですか?

これは私が現在持っている方法でありutilities.type_id、キーの設定を参照するのではありませんutilities.id。その結果、すべて同じタイプであっても、行ごとに異なるタイプがプルされます。

ここに画像の説明を入力してください

Kohana3.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    |                |
+---------+--------------+------+-----+---------+----------------+
4

1 に答える 1

1

ユーティリティbelongs_toタイプ(キーutilitiesがありtype_idます)、およびタイプhas_manyユーティリティ。

PS。typesまた、テーブル($_primary_keyプロパティ)のPK名を定義する必要があります。

于 2012-07-24T07:38:36.310 に答える