2017-04-23 4 views
0

モデルを使用してlaravelで可能なのは、日付と時刻を変更するだけで、データベースのdatetimeフィールドを更新したいですか?Laravel Eloquentモデルフィールドの時刻のみを更新するDateTime

私の研究は、Queryメソッドを使用してソリューションを駆動しましたが、モデルは使用しませんでした。

例: イベント= ["start" => "22-22-2003 12:14:00"]必要なのは、日付を編集することなく数時間を追加することだけです。これはあなたのstart属性は通常モデルの$datesプロパティに追加することによって行われるCarbonインスタンスにキャストされていることを前提としてい

$event = Event::find($id); 

$event->start = $event->start->addHours(2); 
$event->save(); 

:どの程度

+0

あなたはもっと手の込んだことはできますか? 1つのモデル(行)またはセットモデル(行)だけを変更したいですか?日時の値で正確に何をしたいかの例を示します。 – peterm

+0

@peterm、yupが例文を追加しました –

答えて

2

class Event extends Model 
{ 
    protected $dates = [ 
     'start', 
    ]; 
} 
+0

不完全なメソッドaddHours –

+1

これは、あなたの属性がCarbonインスタンスにキャストされていないことを意味します。そのようにするか(更新された回答を参照)、または明示的にインスタンス化することができます。 – peterm

+0

この部分は正しいですが、追加する時間は分かりません。時間を別の時間だけ更新する必要があります。 –

関連する問題