I created a route to register users of laravel:
Route::post('registrar', 'Auth\RegisterController@create');
My class:
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'nome', 'email', 'telefone', 'senha', 'usuario_anjo'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
My controller:
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
/**
* Create a new controller instance.
*
* @return void
*/
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'nome' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'senha' => 'required|string|min:6|confirmed',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
return User::create([
'nome' => $data['nome'],
'email' => $data['email'],
'telefone' => $data['telefone'],
'usuario_anjo' => $data['usuario_anjo'],
'senha' => Hash::make($data['senha']),
]);
}
}
I'm trying through postman to hit the created route, however it returns:
"Too few arguments to function App \ Http \ Controllers \ Auth \ RegisterController :: create (), 0 passed and exactly 1 expected"
I am sending the keys:
name: x email: [email protected] password: xxx user_anjo: 1 phone: 999999