2014-07-10 113 views
0

對於我的模型(車間),我有一個名爲「日期」的字段,此輸入顯示用戶在哪個日期這個車間。我想通過後端輸入多個日期(逗號分隔),並向前端用戶顯示最接近當前日期的日期。 在我以前的嘗試中,我無法將數組保存到數據庫,因此無法在前端顯示用戶,這些日期之一。Laravel在前臺最接近的日期顯示日期

有沒有一種簡單的方法來創建我上面提到的這種東西,很容易?

我以前什麼:

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

您需要破滅的陣列。這會將它放入你的字符串中。

多輸入;

<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'), 
+0

呵呵無光,這正是我不願意,我想創建一個字符串的陣列(我在輸入欄中輸入,逗號分開)並在其上使用一些代碼來向前端用戶顯示最近(未來)的日期。 – Jeroen

+0

但是,您不能將數組存儲爲數據。 –

+0

噢好吧,大聲笑不知道。我正在嘗試你的內爆版本,但我得到奇怪的錯誤,「implode():無效的參數傳遞」我應該跟着我的代碼,並用implode替換explode? – Jeroen