У меня есть две таблицы с именами 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 | |
+---------+--------------+------+-----+---------+----------------+