Problem laravel 5.5, roles () - attach ()

1

I have a small problem, in this script the users are added, but at the end of the function this line is not executed.

  $user->roles()->attach(Role::where('name', 'user')->first());
         return $user;

the complete script is this, but I do not understand why that last line does not want to do what it should do.

<?php

namespace App\Http\Controllers;

use App\User;
use App\Role;
use App\TiposUsuarios;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Resquest;
use App\Http\Requests;
use \Illuminate\Http\Response;
use Validator;

class RegistrosController extends Controller
{
       /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }
   


 /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $tipos_usuarios = \DB::table('tipos_usuarios')->select('id', 'usuarios_rol')->get();
        return view('auth.register')->with('tipos_usuarios', $tipos_usuarios);
    }

    
      /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store()
    {
            $data = request()->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'tipos_usuarios_id' => 'required|integer',
            ]);


            $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'tipos_usuarios_id' => $data['tipos_usuarios_id'],
        ]);
        

         $user->roles()->attach(Role::where('name', 'user')->first());
         return $user; 

         return redirect()->route('regis.store')->with('success','Registro creado satisfactoriamente');

            
    }


  

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}
    
asked by zereft 28.11.2018 в 03:43
source

0 answers