0

日付が変更された日付のデータ型の列があります。LaravelがそれをCarbonインスタンスに変換するように日付を変更し、Carbonインスタンスに変換する必要がある他の場所で簡単に使用できるようにしました。編集フォームでモデル バインディングを使用しています。フィールドは日付が変更されているため、編集フォームでは「2015-07-29 00:00:00」と表示されます。代わりに、「2015-07-29」という形式にする必要があります。

他の多くの場所で Carbon インスタンスとして必要なため、アクセサーを使用できません。

フォームのパーシャル内で入力を使用していて、作成にも使用しているため、変換後に明示的に値を渡すことはできません。

私の回避策は次のとおりです。

編集ページにビューのパーシャルを含めてフラグを送信し、それを使用して作成と編集用に2つの異なるコードを作成しています。

@if (isset($edit))
    {!! Form::text('eta', $order->eta->format('Y-m-d'), ['class' => 'form-control', 'required']) !!}
@else
    {!! Form::text('eta', null, ['class' => 'form-control', 'required']) !!}
@endif

より良い方法はありますか?

4

1 に答える 1

0

@iffromと$editasは避けることができると思います。

{!! Form::text('eta', ( $order->eta ? $order->eta->format('Y-m-d') : null ) , ['class' => 'form-control', 'required']) !!}
于 2015-07-29T10:26:39.643 に答える