2017-08-31 10 views
2

は、クエリビルダーを使用する際にタイムスタンプを自動的に使用する手段があります。現在はCARBONを使用しています。 created_atupdate_atは雄弁の一部であるLaravel 5.4のタイムスタンプを自動的に使用するクエリビルダー

DB::table('product_in_out')->insert(
       ['product_id'     => $product_id, 
       'warehouse_id'     => $warehouse_id, 
       'balance_before'    => Product::getProductBalanceOf($action_id, $product_id), 
       'in'       => $product_qty, 
       'out'       => '0', 
       'after_balance'    => Product::getProductBalanceOf($action_id, $product_id)+$product_qty, 
       'action'      => 'ProcurementReceipt', 
       'action_id'     => $action_id, 
       'created_by'     => auth()->user()->id, 
       'updated_by'     => auth()->user()->id, 
       'is_active'     => '1', 
       'created_at'     => \Carbon\Carbon::now(), # \Datetime() 
       'updated_at'     => \Carbon\Carbon::now(),# \Datetime() ] 

      ); 

答えて

1

フィールド: はここに私のコードです。

クエリビルダの代わりにEloquentを使用して、自動時間処理のためにレコードをデータベースに挿入して更新する必要があります。雄弁は、上記のコード

あなたはモデル名の製品をお持ちの場合は、

$product = new Product(); 
$product->column_name = $column_value; 
.... 
... 
$product->save(); 

created_atupdated_at列に自動的にタイムスタンプを追加しますが、ここで

が道である、あなたのためのupdated_atの列の自動更新を処理します。

今、これはそれに応じてupdated_at列値を更新します

$product = Product::find($id); 
$product->update_column_name = $update_value; 
... 
... 
$product->update(); 

、のようなあなたのレコードを更新するために雄弁を使用しています。

ご理解ください。

+0

私はあなたの意見を持っていたので、自動タイムスタンプは雄弁に過ぎないのですか? –

+0

@MartneyAchaはい、クエリビルダを使用すると、手動で行う必要があります –

+0

Alright Thanks Sagar –

関連する問題