2016-03-18 2 views
0

billing_plans стол содержит столбец default_plan. По умолчанию можно выбрать только один. Но вы можете редактировать планы в таблице. Я хочу сделать двоичный столбец, значение 1 равно умолчанию, 0 - нет. Но mysql и laravel считают, что значение 0 тоже уникально. Можно ли сделать уникальное единственное значение столбца?Laravel указать значение уникальной колонны

миграция

Schema::create('billing_plans', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->integer('price'); 
     $table->boolean('default_plan')->unique()->nullable(); 
     $table->string('name'); 
     $table->timestamps(); 
} 
+0

Можете ли вы дать простой снимок 'billing_plans' таблицы? – Dwijen

ответ

0

Это не возможно с Mysql игнорировать ложного значения ограничения уникальности. Вам нужно поставить столбец «nullable», а когда он false, установите значение null вместо «false».

$billingPlan->default_plan = ($request->input('default_plan'))?:null; 

См https://stackoverflow.com/a/4617940/2389232

Смежные вопросы