PHP
1try{ 2DB::beginTransaction(); 3 $time_now = time(); // 現在時刻取得 4 AnalysisHour::updateOrCreate([ 'date' => date("Y-m-d", $time_now) ],[ 5 'hour_'. date("G", $time_now) => AnalysisHour::where('date', '=', date("Y-m-d", $time_now))->increment('hour_'. date("G", $time_now)), 6 ]); 7}catch(\Exception $e){ 8 DB::rollback(); 9 return redirect( Session::get('_previous')['url'] ); 10}
上記のコードを実行しても、指定されたカラムが0か1か変化しません。
テーブルは、integerを指定しています。
やりたいこととしては、現在時刻を取得し、hour_*のカラムをincrementするということです。
例えば現在時刻が2016-09-29 03:43:59ならば、hour_3の数値をインクリメントするという仕様です。
何か不十分な情報があればお伝え願えれば幸いです。
#モデルのコードの追加
PHP
1<?php 2 3namespace App; 4 5use Illuminate\Database\Eloquent\Model; 6 7class AnalysisHour extends Model 8{ 9 10 //timestamps利用 11 public $timestamps = true; 12 13 // MassAssignment 14 protected $fillable = [ 15 'form_id', 16 'date', 17 'hour_0', 18 'hour_1', 19 'hour_2', 20 'hour_3', 21 'hour_4', 22 'hour_5', 23 'hour_6', 24 'hour_7', 25 'hour_8', 26 'hour_9', 27 'hour_10', 28 'hour_11', 29 'hour_12', 30 'hour_13', 31 'hour_14', 32 'hour_15', 33 'hour_16', 34 'hour_17', 35 'hour_18', 36 'hour_19', 37 'hour_20', 38 'hour_21', 39 'hour_22', 40 'hour_23', 41 ]; 42 43} 44
回答1件
あなたの回答
tips
プレビュー