Как игнорировать синхронизацию, если значение null в laravel

У меня есть форма, где я буду синхронизировать свои атрибуты (это похоже на теги), но проблема в том, что я получаю ошибку при выборе или даже не выборе какого-либо атрибута.

Вот ошибка, которую я получаю:

SQLSTATE [HY000]: Общая ошибка: 1366 Неправильное целочисленное значение: '' для столбца 'attribute_id' в строке 1 (SQL: insert into product_attributes ( attribute_id , product_id ) значения (* parameters, 65))

Перед кодами мне нужно объяснить, что я пытаюсь сделать:

  1. Выберите мои атрибуты при создании нового сообщения.
  2. Дать значение выбранному атрибуту
  3. save product_id arribute_id и attribute_value в таблице product_attributes .

Вот мой клинок:

 $(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(); } }); }); 
 <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> 

Вот мой контроллер:

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

Related of "Как игнорировать синхронизацию, если значение null в laravel"