我需要一个治疗师有很多孩子的协会,反之亦然。
我有3张桌子:
治疗师 孩子 children_therapists
您可以在下面看到该关联:
Therapist.php
public $hasAndBelongsToMany = array('Child' =>
array(
'className' => 'Children',
'joinTable' => 'children_therapists',
'foreignKey' => 'therapist_id',
'associationForeignKey' => 'child_id',
'unique' => true,
'conditions' => '',
'fields' => '',
'order' => 'Child.last_name',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'with' => ''
)
);
在Child.php模型中,我尝试了这段代码:
public $useTable = 'children';
但这没效果。
当我对它编码时,我收到以下错误:
缺少数据库表
错误:在数据源默认值中找不到模型Child的表子项。
非常感谢任何帮助。
谢谢, 格雷格
答案 0 :(得分:0)
因为问题中的代码没有引用它。
public $hasAndBelongsToMany = array(
'Child' => array(
'className' => 'Children',
// ^ Supposed to be a model name
它引用了不存在的Children
模型。
要突出显示数组键和className键的含义,请比较:
class User extends AppModel {
public $hasAndBelongsToMany = array(
'Friend' => array(
// ^ Whatever you want
'className' => 'Child',
// ^ A model name
要更正问题,只需替换
即可'className' => 'Children'
与
'className' => 'Child'