2017-06-05 28 views

答えて

2

これは、raw expressionを使用して追加のクエリを実行せずに行うことができます。

Res_Reservations::where('time_id', $time['id']) 
       ->where('date', $bus['date']) 
       ->where('valid', config('config.TYPE_SCHEDULE_UNREMOVED')) 
       ->update([ 
        'time_id' => $time['move'], 
        'reason' => DB::raw("CONCAT(reason, '" . $notesAdd . "')") 
       ]); 
+0

私はこの方が良いです。私はそれを考えました。 – Jason

+0

@treeface、ありがとうございました。そしてもう一つ問題があります。理由フィールドがNULLの場合、CONCATは機能していません。もっと助けてください! – Alex

+0

@Alex mysql制御フロー関数https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.htmlを使用することができます。だから 'IF(理由はNULL、NULL、CONCAT(理由、 '何でも'))' – treeface

0

最も簡単な方法は、Laravelオブジェクトになるようにレコードを最初にロードし、次にプロパティを更新してレコードを保存することです。

$record = Res_Reservations::where('time_id', $time['id']) 
       ->where('date', $bus['date']) 
       ->where('valid', config('config.TYPE_SCHEDULE_UNREMOVED'))->first(); 

$record->update(['time_id' => $time['move'], 'reason' => $record->reason . $notesAdd]);