私は単純な保存(データベースに挿入)を行うために、モデル内にメソッドを持っています。まず、特定の条件を満たしているユーザーを見つけて、これらの見つかったユーザーが、ここのコードです:私のcakePHPの保存方法に何か問題があります
function save_emails(){
App::import('Model', 'User');
App::import('Model', 'EmailSave');
$this->EmailSave = new EmailSave();
$this->User = new User();
$users = $this->User->find("all", array(
'conditions' => array(
'OR' => array(
array('User.user_type_id' => '4'),
array('User.user_type_id' => '1')
)
),
'fields' => array(
'username',
'email'
),
'recursive' => -1
));
foreach($users as $user){
//pr($user);
$to = $user['User']['email'];
$subject = $email_template['subject'];
$template = //calling a templating method;
$save_send['EmailSave']['created'] = date("Y-m-d H:i:s", time());
$save_send['EmailSave']['modified'] = date("Y-m-d H:i:s", time());
$save_send['EmailSave']['send_to'] = $to;
$save_send['EmailSave']['subject'] = $subject;
$save_send['EmailSave']['message'] = $template;
//pr($save_send);
$this->EmailSave->save($save_send);
//echo $to."<br />".$subject."<br />".$template."<br />".$cron_id."<br />";
}
}
これは前方にかなりのストレートで、私は、ユーザーの方にfindメソッドを実行したときに、私は今、どんな複雑な方法を使用していない意味:
$users = $this->User->find("all", array(
'conditions' => array(
'OR' => array(
array('User.user_type_id' => '4'),
array('User.user_type_id' => '1')
)
),
'fields' => array(
'username',
'email'
),
'recursive' => -1
));
それ2つの結果を返し、ケーキのprメソッドを使用して結果を出力しようとすると、w ouldは正しい結果を出力しますが、saveメソッドを適用すると結果の1つしか挿入されませんが、どうすれば可能ですか?私はコードを1行ずつトレースしていますが、見つかるだけで問題は、データベースに保存するときに2つの結果をすべて保存できない場合です。助けてください。
aaww man!私は馬鹿だと感じる!どうもありがとう – littlechad