2011-12-19 9 views
0

更新を実行しようとしていますが、何も動作していないようです。コールバックが無効になっているときに更新がうまくいくので、私の想定しているコールバックとは何か関係があります。これは私のtryブロックです。Kohanaの自動モデラー更新機能でキー 'PRIMARY'の重複エントリ '2'

try{ 
     $updatestat=NULL; 
     $updateresult=NULL; 
     $id = Arr::get($_POST, 'id'); 

     $scode=trim(Arr::get($_POST, 'stationcode')); 
     $sname=trim(Arr::get($_POST, 'stationname')); 
     $dsupdate = new Model_Dstations($id); 
     $dsupdate->scode = $scode; 
     $dsupdate->sname = $sname; 

     $validation = new Validation($_POST);   
    $validation->rule('scode', array($dsupdate, 'check_updatecheck'), array(':validation', ':value',':field',$id)); 
     $validation->rule('sname', array($dsupdate, 'check_updatecheck'), array(':validation', ':value',':field',$id)); 
     $result['sql']=$dsupdate->save($validation);} 

答えて

0

コードは完全に混乱しているようです。 試用:

$dsupdate = new Model_Dstations($id); 

    $validation = new Validation($_POST);   
    $validation->rule('scode', array($dsupdate, 'check_updatecheck'), array(':validation', ':value',':field',$id)); 
    $validation->rule('sname', array($dsupdate, 'check_updatecheck'), array(':validation', ':value',':field',$id)); 

    if ($validation->check()) { 
     $dsupdate->scode = $scode; 
     $dsupdate->sname = $sname; 
     $dsupdate->save(); 
    } 
+0

これは機能します。ありがとう – Churchill

関連する問題