А как это повляет на то что он ищет ключ с назавание модели + _id т.е. usertype_id.
Ошибка от этого никуда не ушла.
Database_Exception [ 1054 ]: Unknown column 'types_users.usertype_id' in 'where clause' [ SELECT `type`.`id` AS `id`, `type`.`name` AS `name`, `type`.`timestamp` AS `timestamp`, `type`.`creator` AS `creator`, `type`.`rights` AS `rights`, `type`.`is_active` AS `is_active` FROM `types` AS `type` JOIN `types_users` ON (`types_users`.`type_id` = `type`.`id`) WHERE `types_users`.`usertype_id` = '3' ]
Можно прописать
protected $_primary_key = 'user_id';
но тогда он его уже в таблице юзерс не находит.
Database_Exception [ 1054 ]: Unknown column 'usertype.user_id' in 'where clause' [ SELECT `usertype`.`id` AS `id`, `usertype`.`email` AS `email`, `usertype`.`username` AS `username`, `usertype`.`password` AS `password`, `usertype`.`logins` AS `logins`, `usertype`.`last_login` AS `last_login`, `usertype`.`type` AS `type`, `usertype`.`status` AS `status`, `usertype`.`token` AS `token`, `usertype`.`try_tokens` AS `try_tokens` FROM `users` AS `usertype` WHERE `usertype`.`user_id` = 3 LIMIT 1 ]
----------------------------------
очередное лирическое отступление - уже ответил на впрос - пришлось редактировать - комменты тут нельзя добавлять после ответа
Решение вроде нашел:
has_many как был так и остался - добавил foreign key
<?php
/**
* Created by PhpStorm.
* User: alexeyv
* Date: 31/7/2558
* Time: 0:15 น.
*/
defined('SYSPATH') OR die('No direct access allowed.');
class Model_Usertype extends Model_User{
protected $_table_name = 'users';
protected $_primary_key = 'id';
protected $_has_many = array(
'types' => array('model' => 'Type','through' => 'types_users', 'foreign_key' => 'user_id',),
);
}
Вроде закрутилось и работает.
Если что есть у вас добавить - прошу написать. а то изучаю кохану всего неделю - полторы и то набегами.