1
私は2つのモデル間の多対多の関係を作成しようとしている:Kohanaの3.2 ORM - 間違ったフィールド名
:Users_RoleとUsers_Rightclass Model_Users_Role extends ORM{
protected $_has_many = array(
'rights' => array(
'model' => 'users_right',
'through' => 'users_roles_rights',
),
);
}
class Model_Users_Right extends ORM{
protected $_has_many = array(
'roles' => array(
'model' => 'users_role',
'through' => 'users_roles_rights',
),
);
}
私はこれをやろうとしています
$role = ORM::factory('users_role', 1);
$right = ORM::factory('users_right', 1);
$right->add('roles', $role);
エラー:私はトンをしようと試み
Database_Exception [ 1054 ]: Unknown column 'role_id' in 'field list' [ INSERT INTO `users_roles_rights` (`users_right_id`, `role_id`) VALUES ('1', '1') ]
O反対側にそれを作る:
$role = ORM::factory('users_role', 1);
$right = ORM::factory('users_right', 1);
$role->add('rights', $right);
新しいエラー:
Database_Exception [ 1054 ]: Unknown column 'right_id' in 'field list' [ INSERT INTO `users_roles_rights` (`users_role_id`, `right_id`) VALUES ('1', '1') ]
を私はORMは、ピボットテーブルでusers_role_id
とusers_right_id
フィールド名を使用することが期待が、それははるかに重要なの間違った名前を使用していますか?どこで私は間違いをしたのですか?
配列に 'far_key'を追加しました。データが正常に追加されました。しかし、同じ関係をもう一度追加しようとすると、kohana広告が同じ行をピボット・テーブルに追加します。どうして? – user1151990