だから多分私は何かが足りないだけです。SaveAll データは正常に動作します... beforeSave を取り出すか、すべてが保存されていても true を返すだけです。私がやろうとしているのは、user_group_id/user_friend_id の組み合わせが既に存在するかどうかを確認することです。保存しない場合。
ただし、1 つのレコードに対して false を返すと、saveAll 関数全体が実行を終了するようです。多分これは意図的なものですか?公式ドキュメントは、これに答えるのに少し制限されています。
明らかに、チェックを関数に移動できますが、これはすべての挿入/更新をカバーする方が良いようです。
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;
}