Braw Rajab
Braw Rajab

Reputation: 35

laravel select box value not adding to database

so am trying to send the value of a select box to database to calculate admin roles but it doesn't receive the value here is my view

                     <div class="form-group row">
                        <label for="exampleFormControlSelect1" class="col-md-4 col-form-label text-md-right">Role</label>
                        <div class="col-md-6">
                            <select class="form-control" id="exampleFormControlSelect1" name="role">
                                <option value="1">Super Admin</option>
                                <option value="2">Admin</option>
                                <option value="3">Doctor</option>
                                <option value="4">Sales</option>
                            </select>
                        </div>
                    </div>

and this is my controller its for adding new admins to the database (not users with admin roles)

public function showRegistrationForm()
{
    return view('auth.admin-register');
}

public function register(Request $request)
{
    // Validate form data
    $this->validate($request,
        [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:admins'],
            'password' => ['required', 'string', 'min:8'],
            'role' => ['required']
        ]
    );

    dd($request->role);

    // Create admin user
    try {
        $admin = Admin::create([
            'name' => $request->name,
            'email' => $request->email,
            'password' => Hash::make($request->password),
            'role' => $request->role
        ]);

       

      
        return redirect()->route('admin.dashboard');
    } catch (\Exception $e) {
        return redirect()->back()->withInput($request->only('name', 'email'));
    }
}

the dd($request->role) works and return the nvalue of the but the problem is with the

 try {
    $admin = Admin::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => Hash::make($request->password),
        'role' => $request->role
    ]);

Upvotes: 0

Views: 52

Answers (2)

Braw Rajab
Braw Rajab

Reputation: 35

The problem was that I didn't set the role in fillable in admin model

Upvotes: 0

Abdul Moiz
Abdul Moiz

Reputation: 492

In model you can define protected columns then all the other column will be auto fillable

or you can define fillable columns in model

Upvotes: 1

Related Questions