Как я могу ограничить данные, которые я пишу в базу данных.
Я пытаюсь сопоставить банковские реквизиты с районами.Я хотел бы ограничить ввод банковских реквизитов 1 районом.
Если быть точным, пользователь должен иметь возможность только создать название банка для района.Когда они попытаются создать новую запись, они получат сообщение об ошибке, утверждающее, что должна быть создана только одна запись.
Таблицы базы данных:
District
| id
| district_name
Bank
| id
| bank_name
| district_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,
<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'); }