2017-09-01 164 views
0

試圖在CRUD應用程序中使用Option窗體插入數據。但其表示,將數據從<option>插入到Laravel的數據庫中

SQLSTATE [23000]:完整性約束違規:1048列 'site_category' 不能爲空(SQL:插入companysite_categorycategory_restuser_idupdated_atcreated_at)值(,,1,2017年-09-01 8時30分09秒,2017年9月1日8時30分09秒))

查看

     {!! Form::open(['action' => '[email protected]', 'method' => 'POST']) !!} 
         <div class="form-group"> 
          <label for="siteCategory">Choose your website category</label><br> 
          <select class="custom-select" id="siteCategory"> 
            <option name="test1" value="test1">Option 1</option> 
            <option name="test2" value="test2">Option 2</option> 
            <option name="test3" value="test3">Option 3</option> 
          </select> 
         </div> 
         <div class="form-group"> 
          <label for="restrictCategory">Choose your website categories restrictions</label><br> 
          <select class="custom-select" id="restrictCategory" multiple> 
            <option name="test4" value="test4">Option 1</option> 
            <option name="test5" value="test5">Option 2</option> 
            <option name="test6" value="test6">Option 3</option> 
          </select> 
         </div> 
         <button type="submit" class="btn btn-primary">Add Company</button> 
        {!! Form::close() !!} 

控制器

public function store(Request $request) 
{ 
    $company = new Company; 
    $company->site_category = $request->input('test1'); 
    $company->site_category = $request->input('test2'); 
    $company->site_category = $request->input('test3'); 
    $company->category_rest= $request->input('test4'); 
    $company->category_rest= $request->input('test5'); 
    $company->category_rest= $request->input('test6'); 
    $company->user_id = auth()->user()->id; //sync with user 
    $company->save(); 

    return redirect('/dashboard/company'); 
} 

我想我的行動控制器錯了,但什麼?

回答

0

您必須爲您的元素命名,它們表示「$ request」關聯數組中的鍵。

<select class="custom-select" id="siteCategory" name="siteCategory"> 

<select class="custom-select" id="restrictCategory" name="restrictCategory[]" multiple> // set name attribute to an array to get all the selected choices 

控制器

public function store(Request $request) 
{ 
    $company = new Company; 
    $company->site_category = $request->input('siteCategory'); 
    $company->category_rest= implode(',', $request->input('restrictCategory')); // store it as string separated by commas 
    $company->user_id = auth()->user()->id; //sync with user 
    $company->save(); 

    return redirect('/dashboard/company'); 
} 
+0

尼斯,它的工作原理,感謝幫助 順便說一下,當我選擇乘行節省了只有一個值。 可以保存乘法嗎? – qqmydarling

+0

是的,你可以。我用一個例子來編輯我的答案,它將數據存儲爲以逗號分隔的字符串。 –

+0

謝謝你隊友;) – qqmydarling