如果数据库中已经存在“ 1”,则数据库将不接受其他“ 1”。它只会接受“ 0”

时间:2018-09-04 08:19:40

标签: php laravel-5

我有thetalocal列,该列接受1或0,具体取决于是否选中了“默认”复选框。

我的is_default

create.blade.php

我的<div class="form-check disabled"> <label class="form-check-label"> <input class="form-check-input" type="hidden" value='0' name="is_default"> <input class="form-check-input" type="checkbox" value='1' name="is_default"> Default Variant </label> </div>

VariantsController@store

在我的变量表中,有一个 DB::transaction(function() use ($request){ $variant = Variant::firstorCreate([ //some more code here 'is_default' => $request->is_default ]); }); ,它是产品表的外键。我有product_id列。现在,一个产品可以有多个变体,但每个产品只能有一个默认变体。

所以,就像(如果选中此复选框)

is_default

查找$checkdefault = Variant::where('product_id',$product)... 中是否有'1'并且如果没有'1',则数据库将保存它,否则它将保存零,并返回提示“仅应有一个默认变体”

我不知道我的解释是否能很好地解释它,但我非常感谢。

0 个答案:

没有答案