私はregister.blade.phpファイルに2つのチェックボックスの入力を追加しました。私は、そうでない場合、私は、「これらのフィールドは空にすることはできません」のようなエラーメッセージのいくつかの種類を表示したいのですが、どちらか一方を選択する必要があり、ユーザ、すなわち、そのうちの一つが必要になることにしたいです。私は両方の入力フィールドにROLE_IDと呼ばれる配列[]追加しようとしました。私はロール表を作成しましたので、ROLE_IDという列に私のユーザーテーブルに行くために1または2のいずれか欲しいので、私はまた、第二の入力に最初に入力し、値上の値=「1」=「2」を追加しました2つのレコードで、1は求職者と2である雇用者であると明らかにここに関係があります。ユーザーが1の値を持っている「私は求職者よ」である第一の入力を選択したのであれば基本的には、1が "チェックボックス2のために、データベース内のユーザーテーブルでROLE_ID列と同じ考え方になります
RegisterController.phpファイル:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'role_id' => ['required'],
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'role_id' => $data['role_id'],
]);
}
register.blade.phpファイル:
<div class="form-group row">
<div class="col-md-8 offset-md-2 text-md-right">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" name="role_id[]" id="job-seeker" value="1">
<label class="form-check-label" for="job-seeker">I'm a Job Seeker</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" name="role_id[]" id="employer" value="2">
<label class="form-check-label" for="employer">I'm an Employer</label>
</div>
</div>
</div>
こんにちはユーザーモデルが付属していませんrole_id
デフォルトで。あなたは編集する必要がありますApp\User.php
し、上protected $fillable
、追加します'role_id'
。
再試行。この時間の値はrule_id
質量データベースへのモデルによって割り当てられるべきです。
EDIT#1:形態においては、以下を使用します。
<input class="form-check-input" type="checkbox" name="role_id" value="1">
<input class="form-check-input" type="checkbox" name="role_id" value="2">
唯一の1つの値が渡されるべき場合は、必要性の配列をいけません。そしてところで、RADIO入力は一つだけ入力を選択することができ、より良いので、動作するはずです。