gpt4 book ai didi

php - 如何在 Laravel 5.7 中限制对数据库的数据输入

转载 作者:搜寻专家 更新时间:2023-10-30 20:14:06 25 4
gpt4 key购买 nike

我怎样才能限制我写入数据库的数据。

我正在尝试将银行详细信息映射到地区。我想将银行详细信息的输入限制在 1 个地区。

准确地说,用户应该只能为一个地区创建一个银行名称。当他们尝试创建新记录时,他们会收到错误消息,指出只应创建一条记录。

数据库表:

District 
| id
| district_name

Bank
| id
| bank_name
| district_id

我想到了将银行表中没有的地区的数据显示到一个选择菜单中。

我将如何在 Eloquent 关系中限制它,或者还有其他选择,

另一种选择是将结果限制为最新创建的银行 ID。但我认为这是一个值得考虑的好主意。

我试过的,

银行财务总监,

使用银行;

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

最佳答案

您可以为此目的使用unique 验证。

    public function create(Request $request)
{
$request->validate([
'district_id' => 'reuqired|unique:banks,district_id'
]);
}

在这里您正在检查是否有该地区的任何记录。

关于php - 如何在 Laravel 5.7 中限制对数据库的数据输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54721119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com