【问题标题】:Laravel show date on front end which is closest to todayLaravel 在前端显示最接近今天的日期
【发布时间】:2014-07-10 13:21:10
【问题描述】:

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

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

我之前拥有的:

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

【问题讨论】:

    标签: php date laravel frontend backend


    【解决方案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'),
    

    【讨论】:

    • 呵呵,马特,这正是我不想要的,我想从一个字符串创建一个数组(我输入一个输入字段,逗号分隔)并在它上面使用一些代码来显示前端的用户最接近的日期(将来)。
    • 但是不能将数组存储为数据。
    • 哦,好吧,大声笑不知道。我正在尝试你的 implode 版本,但我得到了奇怪的错误,“implode(): Invalid arguments passed” 我应该按照我的代码,并用 implode 替换 explode 吗?
    • 太好了,这让我朝着正确的方向前进,谢谢马特!现在我所要做的就是编写一些代码来只显示最近的日期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多