many-to-many relation med phpactiverecord
Hey,Jeg er en af de mange (åbenbart), der ikke lige kan få sin many-to-many relation til at virke i phpactiverecord.
Jeg har følgende tabeller (simplificeret) i mysql:
user:
id
name
group:
id
name
user_group:
id
userId
groupId
Jeg har så følgende classes:
<?php
class User_model extends ActiveRecord\Model {
public static $table_name = 'user';
public static $has_many = array(
array(
'user_usergroups',
//'primary_key' => 'id', //redundant
'foreign_key' => 'userId',
'class_name' => 'User_usergroup_model'
),
array(
'usergroups',
//'primary_key' => 'id', //redundant
'foreign_key' => 'userId',
'through' => 'user_usergroups',
'class_name' => 'Usergroup_model'
),
);
}
class Usergroup_model extends ActiveRecord\Model {
public static $table_name = 'usergroup';
public static $has_many = array(
array(
'user_usergroups',
//'primary_key' => 'id', //redundant
'foreign_key' => 'groupId',
'class_name' => 'User_usergroup_model'
),
array(
'users',
//'primary_key' => 'id', //redundant
'foreign_key' => 'userId',
'through' => 'user_usergroups',
'class_name' => 'User_model'
),
);
}
class User_usergroup_model extends ActiveRecord\Model {
public static $table_name = 'user_usergroup';
public static $belongs_to = array(
array(
'user',
//'primary_key' => 'id', //redundant
'foreign_key' => 'userId',
'class_name' => 'User_model'
),
array(
'usergroup',
//'primary_key' => 'id', //redundant
'foreign_key' => 'groupId',
'class_name' => 'Usergroup_model'
),
);
}
Når jeg så forsøger at gøre sådan her:
$user = User_model::find(1); //virker fint, giver mig et user object.
var_dump($user->usergroups); // denne fejler - giver følgende fejl:
Fatal error: Uncaught exception 'ReflectionException' with message 'Class UserUsergroup does not exist' in [sti til min Reflections.php fil, linie 33]
Nogle gode bud?