使用CakePhp 3.0.10
我想使用belongsTo
选项创建through
关系,但我也需要设置joinTable
选项,因为我的表有前缀
如果我写的话,按照书中的例子:
$this->belongsToMany('Courses', [
'through' => 'CourseMemberships',
'joinTable' => 'prefix_course_memberships',
]);
我收到错误:
1146 Table 'course_memberships' doesn't exist
这是一个错误,还是有办法强迫cakephp使用我的桌子?
答案 0 :(得分:1)
through
选项取代joinTable
选项,查看代码,这是预期的行为。
<强> https://github.com/cakephp/.../src/ORM/Association/BelongsToMany.php#L173-L184 强>
因此,如果您想在使用through
时更改表名,只需在CourseMembershipsTable
类中更改它,就像对任何其他表类一样进行更改
public function initialize(array $config)
{
$this->table('prefix_course_memberships');
// ...
}