我有两个模特:Bar HABTM Foo。现在我有bars_foos连接表和一些额外的字段。
当我添加带有一些Foo关联的新Bar时,反之亦然,我需要运行许多验证检查,无论新关联是否为Kosher。检查基于已定义的附加字段和已保存的关联。
我应该在哪里运行这些验证?在Bar / Foo控制器中?或者我应该使用验证规则创建BarsFoo模型吗?
当我保持HABTM关系以从Cake获得所有自动魔法时,我找不到告诉Cake使用我自己的预定义BarsFoo模型和验证规则的方法。 Cake创建了自己的虚拟模型并忽略了我的。
或者我(在这种特定情况下)是否应该将HABTM分解为hasMany-belongsTo-hasMany关系,我可以使用自己的BarsFoo模型?
答案 0 :(得分:2)
您可以使用with
键定义联接模型,并在那里创建验证:
public $hasAndBelongsToMany = array(
'Bar' => array(
…
'with' => 'BarFoos'
)
);