Laravel在前端显示最接近今天的日期

时间:2014-07-10 13:21:11

标签: php date laravel frontend backend

对于我的模型(研讨会),我有一个名为“日期”的字段,此输入显示用户在此研讨会的日期。我想通过后端输入多个日期(逗号分隔),并在前端向用户显示最接近当前日期的日期。 在我以前的尝试中,我无法将数组保存到数据库,因此无法在前端显示用户,其中一个日期。

有没有一种简单的方法来创建我上面提到的这样的东西,这很容易吗?

我之前拥有的东西:

public function store()
    {
        if(Input::hasFile('file'))
        {
            $file               = Input::file('file');
            $destinationPath    = 'uploads/images/workshops/';
            $filename           = $file->getClientOriginalName();
            $upload_success     = $file->move($destinationPath, $filename);
        }

        $new_workshop = array(
            'concept'   => Input::get('concept'),
            'title'     => Input::get('title'),
            'body'      => Input::get('body'),
            'author'    => Input::get('author'),
            'slug'      => Str::slug(Input::get('title')),
            'image'     => str_replace('\\', '/', $upload_success),
            $thedate = array();
            foreach(explode(',',Input::get('date')) as $date){
               array_push($thedate,$date);
            }
            'date'      => $thedate,
        );
        $rules = array(
            'title'     => 'required|min:3|max:255',
            'body'      => 'required|min:10',
            'date'      => 'required',
        );

        $validation = Validator::make($new_workshop, $rules);
        if ( $validation->fails() )
        {
            return Redirect::route('admin.workshops.create')->withErrors($validation)->withInput();
        }
        $workshop = new Workshop($new_workshop);
        $workshop->save(); 

        return Redirect::route('admin.workshops.index');
    }

1 个答案:

答案 0 :(得分:1)

你需要内爆数组。这会把它放到一个字符串中。

多个输入;

<input name="date[]".... /> //one for one date 
<input name="date[]".... /> //one for another date

首先取决于您在页面上设置日期的方式。只要日期在名称中有date [],它就会填充Input :: get('date');

然后改变;

$thedate = array();
foreach(explode(',',Input::get('date')) as $date){
     array_push($thedate,$date);
}
'date'      => $thedate,

'date' => implode(',',Input::get('date')),

保存的值将是“日期”,“日期”...取决于您发布的日期数量。

如果您只使用单个输入并将日期与a分开,那么您只需要做;

更改

$thedate = array();
foreach(explode(',',Input::get('date')) as $date){
     array_push($thedate,$date);
}
'date'      => $thedate,

'date' => Input::get('date'),