对于我的模型(研讨会),我有一个名为“日期”的字段,此输入显示用户在此研讨会的日期。我想通过后端输入多个日期(逗号分隔),并在前端向用户显示最接近当前日期的日期。 在我以前的尝试中,我无法将数组保存到数据库,因此无法在前端显示用户,其中一个日期。
有没有一种简单的方法来创建我上面提到的这样的东西,这很容易吗?
我之前拥有的东西:
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');
}
答案 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'),