2016-04-23 74 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日期或其他明智的与当前时间创建日期并使用它。

希望这会有助于有人在那里。