如果在laravel

时间:2017-10-17 02:01:06

标签: javascript php laravel

我有一个表单,我将同步我的属性(它就像标签一样),但问题是我在选择时会出错,甚至没有选择任何属性。

这是我得到的错误:

  

SQLSTATE [HY000]:常规错误:1366错误的整数值:''对于   列' attribute_id'在第1行(SQL:插入product_attributes   (attribute_idproduct_id)值(*参数,65))

在代码之前,我需要解释一下我尝试做的事情:

  1. 创建新帖子时选择我的属性
  2. 为所选属性赋予值
  3. product_id表中保存arribute_id attribute_valueproduct_attributes
  4. 这是我的刀片:

    
    
    $(function() {
            $('a.pl').click(function(e) {
                e.preventDefault();
                $('#phone').append('<div class="col-md-6"><select class="tagsselector mb-20 form-control" name="attribute[]"><option value="{{ $attribute->id }}">{{ $attribute->title }}</option></select></div><div class="col-md-6"><input name="attribute_value" class="form-control" type="text" placeholder="Value"></div>');
            });
            $('a.mi').click(function (e) {
                e.preventDefault();
                if ($('#phone input').length > 1) {
                    $('#phone').children().last().remove();
                }
            });
        });
    &#13;
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div class="RegSpLeft" id="phone" style="margin-top:30px;">
                               <div class="col-md-6">
                                 <label for="attributes" hidden>Attributes</label>
                                 <select class="mb-20 form-control" name="attributes[]">
                                   <option value="" selected>Select Attributes</option>
                                   @foreach($attributes as $attribute)
                                       <option value="{{ $attribute->id }}">{{ $attribute->title }}</option>
                                   @endforeach
                                 </select>
                               </div>
                               <div class="col-md-6">
                                 <label for="attribute_value" hidden>attribute value</label>
                                 <input name="attribute_value" class="form-control" type="text" placeholder="Value">
                               </div>
                             </div>
                             <div class="RegSpRight">
                                 <a href="#" class="pl">+</a>
                                 <a href="#" class="mi">-</a>
                             </div>
    &#13;
    &#13;
    &#13;

    这是我的控制器:

    public function create()
        {
          $categories = Category::all();
          $subcategories = Subcategory::all();
          $attributes = Attribute::all();
          if (is_null($attributes)) {
            $attributes = [];
          }
          $user = Auth::user();
          return view('admin.products.create', compact('user', 'categories', 'subcategories', 'attributes'));
        }
    

    我的Product型号:

    public function attributes()
      {
         return $this->belongsToMany(Attribute::class, 'product_attributes', 'product_id', 'attribute_id');
      }
    

    我的Attribute型号:

    public function products(){
         return $this->belongsToMany(Product::class);
      }
    

0 个答案:

没有答案