我有一个非标准的数据库设置可以使用,我试图让这个测试用例在 Kohana 3.2 中工作,但没有任何运气。设想:
- 我有一个使用数据库 A 的课程模型
- 我有一个使用数据库 B 的成员模型
- 我在数据库 A 中有一个 courses_members 连接表
课程模型
class Model_Course extends ORM {
// Select the DB
protected $_db_group = 'default';
// override primary key
protected $_primary_key = 'courseid';
// Relationship
protected $_has_many = array(
'members' => array(
'model' => 'member',
'foreign_key' => 'memberID',
'through' => 'courses_members',
),
);
}
会员模型
class Model_Member extends ORM {
// Select the DB
protected $_db_group = 'alternate';
// override primary key
protected $_primary_key = 'memberID';
// Relationship
protected $_has_many = array(
'courses' => array(
'model' => 'course',
'foreign_key' => 'courseid',
'through' => 'courses_members'
),
);
}
现在在我的控制器中尝试我试图回显一些测试数据
$courses = ORM::factory('course')->find_all();
foreach ($courses as $course)
{
echo $course->coursename . '<br/>';
foreach ($course->members as $member)
{
echo '-' . $member->username . '<br/>';
}
echo '<hr/>';
}
但是 $member->username 会产生一个空对象。空的物体让我难过。
想法?Kohana ORM 可以跨多个数据库以这种方式工作吗?