Я ознакомился с каждым решением, которое смог найти на youtube, stakoverflow и других сайтах.Я использую Select2 для добавления нескольких ролей, но постоянно получаю ту же ошибку.
<select id="role" name="role_id[]" multiple='multiple'
class="form-control js-example-basic-multiple">
@foreach($roles as $role)
<option value="{{$role->id}}">{{$role->name}}</option>
@endforeach
</select>
Функция DD показывает идеальный результат, но после этого показывает ошибку.
Это прекрасно работает, пока я не добавлю [] с именем = "role_id []".Форма действия как под.
public function store(Request $request)
{
$this->validate($request, [
'name'=> 'required|string|max:225',
'status'=> 'required',
'role_id'=> 'required',
'email'=> 'required|string|email|max:225|unique:users',
'password'=> 'required|string|min:6|confirmed'
]);
$password = Hash::make($request->password);
// dd($request->all());
$user = new User;
$user->name = $request->name;
$user->status = $request->status;
$user->role_id = $request->role_id;
$user->email = $request->email;
$user->password = $password;
$user->remember_token;
$user->save();
// $user->roles()->sync($request->roles, false);
return back()->with('message', 'User added successfully!!');
}
Если я проверяю целое число 'role_id' => 'required | integer', это показывает ошибку
Миграция такая же, как в
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->unsignedInteger('role_id')->default(1);
$table->boolean('status')->default(0);
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}