多分私は何かを見逃しています。 SaveAllデータは正常に動作します。もしbeforeSaveを取り出したり、すべてが保存されていてもtrueを返すとしたら、私がしようとしているのは、user_group_id/user_friend_idの組み合わせがすべて存在するかどうかをチェックすることです。それが保存されない場合。保存する前にcakephp saveallを中断した場合falseを返します
しかし、saveAll関数全体が実行を終了する1つのレコードに対してfalseを返すと思われます。多分これは意図的なのでしょうか?公式文書はこれに答えるために限定されている。
明らかに私は小切手を機能に移すことができましたが、これはすべての挿入/更新をカバーする方が良いようでした。
function beforeSave($options) {
//dont let any duplicates be saved
$count = $this->find('count', array(
'conditions' => array(
'user_group_id' => $this->data['UserGroupFriend']['user_group_id'],
'user_friend_id' => $this->data['UserGroupFriend']['user_friend_id'],
)));
if ($count)
return false;
else
return true;
}