2016-04-23 15 views
1

これはおそらく、本当に、本当に簡単な問題であるが、それは私が困惑してしまったのです、私は含んだ形でデータベースに保存された記事を、持っています公開された日付を保存するフィールド。このフィールドに入力されたデータは、残りのデータとともにデータベースに正常に保存されます。Laravel 5.2ショー保存した日付が

保存されたすべてのデータを、公開フォームの日付を除いて、編集フォームに戻しました。

私は

{!! Form::text('title', null) !!} 
{!! Form::input('date', 'first_published', null) !!} 

下の両方のショーは、これはむしろ保存された日付よりも、入力ボックスにDD/MM/YYを置きます。例えば、タイトル、他のフィールドと同じ形式を使用して試してみましたこの値を変更しないと、日付は今日の日付としてデータベースに保存されます。

私はまた、「日付」は保存されていない場合、フォームの値を上書きしません

{!! Form::input('first_published', null) !!} 

これは完全に空ボックス(なし日付ピッカー)、その結果を、属性削除しようとしました。保存した日付を表示したいので、必要に応じて変更することができます。

また、この記事では$ article-> published_dateをさまざまな方法でエコーしてみましたが、上記と同じ結果しか得られません。私はこのデータを別の場所にエコーすることができます。

{!! Form::model($article, ['method' => 'PATCH', 'url' => 'articles'.'/'. $article->id]) !!} 

、関連するコントローラの機能

//page containing form to edit article, pulls in existing data 
public function edit($id) 
{ 
    $article = article::findOrFail($id); 

    return view('articles.edit', compact('article')); 
} 

//responsible for updating the article record 
public function update($id, Request $request) 
{ 
    $article = article::findOrFail($id); 
    $article->update($request->all()); 

    return redirect('articles'); 
} 

フィールドは移動中のタイムスタンプとして設定されている:$ article->は

形態がようにモデルを参照} !! first_published 、と誰もが取得する方法上の任意の光を当てることができれば、私は、そう

protected $dates = [ 
    'first_published' 
]; 

を持っているモデルで他のフィールドと同じように保存されたデータ値をフォームフィールドに入力すると、非常に感謝しています。私が見逃してしまった盲目的な明白な問題があるならば、私はかなり謝罪するのはかなり新しいです...

答えて

0

他の誰もが同様の問題を抱えています - 私は今、恥ずかしくて簡単な解決策を見つけました!

私は以下のように日付フィールドを変更:

{!! Form::date('first_published', $article->first_published, ['class' => 'nameofclasshere']) !!} 

フィールドのデフォルト値は(私は質問で説明するようにページ内の別の場所にアクセスすることができました)私のデータベースから引き出された値になるように。フォームを送信すると、フォームの値を変更しない限り、データベースの値として日付が残っています(この場合は更新されます)。

これが正しいかどうかは分かりませんが(これは他のフィールドのやり方とはまだ異なります)、トリックを行うようです。

0

明らかにこの質問は終了しましたが、おそらく誰かを助けることができます。 は、私は両方の編集にフォームを使用して作成するので、私は次のようでした。私は、次のコードセクションとForm::input('date', 'published_at', ...ラインに関連するセグメントを交換されたのは何

<div class="form-group"> 
<label class="control-label" for="date_">Proyect Date </label> 
<input class="form-control" id="datepicker" name="date" placeholder="DD/MM/AA" value=" 
    @if (isset($proyect->date)) 
     {!!date('d-m-Y', strtotime($proyect->date))!!} 
    @endif" type="text"> 

1

は(あなたのLaracastパーシャルを参照します具体的再利用のチュートリアル)を形成する:フォーム$articleオブジェクトを与えている場合は、上記置換コードセクション(isset($article) && $article->published_at ? $article->published_at : date('Y-m-d'))

<!-- Published_at Form Text Input --> 
<div class="form-group"> 
    {!! Form::label('published_at', 'Publish On:') !!} 
    {!! Form::date('published_at', (isset($article) && $article->published_at ? $article->published_at : date('Y-m-d')), ['class' => 'form-control']) !!} 
</div> 

は、既存の012を使用するので、次に、チェックします日付または他の賢明な現在の日付と日付を作成し、それを使用します。

これは誰かに役立つといいですね。

関連する問題