0

こんにちは、ジョブにかかった合計時間を (データベース フィールド job_start および job_end time(7) を使用して) 取得しようとしていて、これを別のモデルのフィールドに追加するという問題があります。

私が持っているコードは

 if (isset($_POST['Jobs'])) {

        $model->attributes = $_POST['Jobs'];
        $model->setScenario('closejob');
        $model->status = 2; //set status to closed

        //date time difference - this is the part I need help with 
        $diff = $model->job_start - $model->job_end;
        //need to get customer model and add time diff to it 
        $customermodel = Customers::model()->findByPk($model->customer_ID);
        $customermodel->total_time = $customermodel->total_time + $diff;
        $customermodel->save();



        if ($model->save())
            $this->redirect(array('view', 'id' => $model->job_ID));
    }

文字列を時刻やその他の日付関数に変換しようとしましたが、役に立たず、上記のコードは次のエラーをスローします

CDbCommand は SQL ステートメントの実行に失敗しました: SQLSTATE[22007]: [Microsoft][SQL Server Native Client 11.0][SQL Server]文字列から日付や時刻を変換するときに変換に失敗しました..

これを行う適切な方法に関するアイデアはありますか? つまり、時間の追加と差の計算はすべて間違っていますか?

文字列を時刻形式に変換することと関係があると思いますが、これを行う方法がわかりません

4

2 に答える 2

0

多分あなたはしなければならない

$diff = $model->job_end - $model->job_start;

それ以外の

$diff = $model->job_start - $model->job_end;
于 2013-07-29T14:57:46.670 に答える