2016-04-23 48 views
1

這可能是一個非常非常簡單的問題,但它難住我了......Laravel 5.2節目保存日期

所以,我有一個形式保存在數據庫中的一篇文章,其中包括一個保存已發佈日期的字段。在此字段中輸入的數據與其餘數據一起成功保存在數據庫中。

我已成功將所有保存的數據撤回到編輯窗體中,除了published_date字段。

我一直使用相同的格式等領域,如標題,下面

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

都顯示這使得DD/MM/YY在輸入框中,而不是保存日期嘗試。如果此值未更改,則日期將作爲當天日期保存在數據庫中。

我也試着去掉「日期」屬性

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

這將導致一個完全空箱(沒有日期選擇器),如果不保存不形式覆蓋值。更好,但仍然不是我想要的,因爲我想顯示保存的日期,如果需要可以更改日期。

我也嘗試過以各種方式在這個字段中回顯$ article-> published_date,但最終只能得到與上述相同的結果。我可以在窗體中的其他地方使用{!! $物品─> first_published !!}

形式引用模型作爲這樣:

{!! 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'); 
} 

該字段被設定爲在遷移的時間戳,並在模型中我有

protected $dates = [ 
    'first_published' 
]; 

所以,如果任何人都可以擺脫任何光線如何獲得將保存的數據值存儲到其他字段中的表單字段中,這將非常感謝! :)我很laravel新,所以道歉,如果有一些盲目明顯的問題,我已經錯過了...

回答

0

關於其他任何人有一個類似的問題 - 我現在已經找到了解決方案,這是令人尷尬的簡單!

我爲如下日期字段:

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

所以該字段的默認值是從我的數據庫中抽取的值(這是我能在其他地方訪問該頁面的問題詳細說明)。當我提交表單時,日期保持爲來自數據庫的值,除非我更改表單值,在這種情況下,它已更新。

不知道這是否是正確的或推薦的方式來做到這一點(並且仍然不同於我已經完成的其他領域),但它似乎伎倆!

0

顯然這個問題已經關閉了,但也許它可以幫助某人。 我是用一種形式都編輯和創建的,所以我做了以下內容:

<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

我所做的是替換爲下面的代碼段Form::input('date', 'published_at', ...線相關的部分(指你Laracast局部模板和窗體重用教程)特異性:

<!-- 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> 

在上述替換代碼段(isset($article) && $article->published_at ? $article->published_at : date('Y-m-d'))將檢查表格給一個$article對象,所以然後使用其現有的published_at日期或其他明智的與當前時間創建日期並使用它。

希望這會有助於有人在那裏。