ORM Коханы не находит мой стол - PullRequest
0 голосов
/ 17 апреля 2011

В моей базе данных есть таблица с именем "role_users". А также модель с именем "role_users.php" в моей папке application / model:

<?php

class Model_Roles_users extends ORM {

}

Я пытаюсь создать новую строку, используя следующий код:

$role = ORM::factory('roles_users');

Однако я получаю сообщение об ошибке "Class 'Model_Roles_users' not found". Он работает с другими таблицами, но не с этой. Кто-нибудь знает почему?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2011

Возможно, это связано с тем, что символ "_" используется в качестве разделителя каталогов, поэтому его нельзя использовать в имени файла.

С http://kohanaframework.org/3.1/guide/kohana/autoloading:

Любые символы подчеркивания в имени класса преобразуются в косые черты

0 голосов
/ 17 апреля 2011

Вы не должны создавать модели для сводных таблиц, а скорее добавлять строки с чем-то вроде этого:

$user->add('roles', ORM::factory('role', array('name'=>'login')));

если вы действительно настаиваете на том, чтобы иметь модель для этой таблицы, это будет Model_Roles_User (model / role / user.php, имеющее только последнее слово в названии единственного числа).

...