我如何限制我写入数据库的数据。
我正在尝试将银行详细信息映射到地区。我希望将银行详细信息的输入限制在1个地区。
准确地说,用户应该只能创建一个地区的银行名称。当他们尝试创建一条新记录时,他们会被错误地处理,声明只应该创建一条记录。
数据库表:
District
| id
| district_name
Bank
| id
| bank_name
| district_id我曾想过将不在银行表中的地区的数据显示到一个选择菜单中。
我如何在雄辩的关系中限制这一点,或者有任何其他选择,
另一种选择是将结果限制为最新的创建银行Id。但我认为这不是一个好主意。
我试过的,
银行管理员,
使用Bank;
public function create()
{
$districts = Districts::all();
$banks = Bank::all();
foreach($banks->districts as $bank)
$banks1 = $bank->district_name;
return($bank1);
// return view('bank-create',compact('districts'));
}上面的代码不起作用,我刚试过,但我不能通过它。
我期望查询的结果传递给下面的select,
<select name="district_option1" class="form-control ml-5" id="">
@foreach ($bank1 as $banks1)
<option value="{{$banks1->id}}">{{$banks1->district_name}} </option>
@endforeach
</select> 我的模型:
银行
public function districts(){
return $this->belongsTo('App\Districts','district_id','id');
}地区:
public function bank(){
return $this->hasOne('App\Bank','id','district_id'); }发布于 2019-02-16 16:27:20
您可以使用unique验证来实现此目的。
public function create(Request $request)
{
$request->validate([
'district_id' => 'reuqired|unique:banks,district_id'
]);
}这里,您正在检查是否有该地区的任何记录。
https://stackoverflow.com/questions/54721119
复制相似问题