/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $rules = ['cedula' => 'required', 'primer_nombre' => 'required', 'apellido_paterno' => 'required', 'usuario' => 'required', 'password' => ['required', 'confirmed', 'min:6']]; //Validamos los datos recibidos $this->validate($request, $rules); $medico = new \App\Medico(); $medico->fill($request->all()); //Llena los campos fillable del modelo MEDICO $medico->save(); $user = new \App\User(); $user->usuario = $request->input('usuario'); $user->password = bcrypt($request->input('password')); $user->rol = 'medico'; $user->save(); $profesionalUser = new \App\ProfesionalUsuario(); $profesionalUser->id_profesional = $medico->id; $profesionalUser->id_usuario = $user->id; $profesionalUser->save(); $request->session()->flash('success', 'El medico ' . $request->input('primer_nombre') . ' ' . $request->input('apellido_paterno') . ' se ha registrado correctamente.'); return redirect()->route('medico.index'); }
|-------------------------------------------------------------------------- | Model Factories |-------------------------------------------------------------------------- | | Here you may define all of your model factories. Model factories give | you a convenient way to create models for testing and seeding your | database. Just tell the factory how a default model should look. | */ $factory->define(App\Comuna::class, function (Faker\Generator $faker) { return ['nombre' => $faker->city]; }); $factory->define(App\Direccion::class, function (Faker\Generator $faker) { return ['calle' => $faker->streetAddress, 'numero' => $faker->buildingNumber, 'comuna_id' => App\Comuna::all()->random()->id]; }); $factory->define(App\CentroMedico::class, function (Faker\Generator $faker) { return ['nombre' => $faker->company, 'direccion_id' => App\Direccion::all()->random()->id]; }); $factory->define(App\Especialidad::class, function (Faker\Generator $faker) { return ['nombre' => $faker->colorName]; }); $factory->define(App\Medico::class, function (Faker\Generator $faker) { return ['nombre' => $faker->name, 'apellido_paterno' => $faker->lastName, 'centro_medico_id' => App\CentroMedico::all()->random()->id, 'especialidad_id' => App\Especialidad::all()->random()->id]; }); $factory->define(App\HoraMedica::class, function (Faker\Generator $faker) { $time = $faker->dateTimeBetween($startDate = 'now', $endDate = '+1 years'); $timeStart = Carbon\Carbon::instance($time); $timeEnd = Carbon\Carbon::instance($time); $timeEnd->addMinutes(20); return ['hora_inicio' => $timeStart, 'hora_termino' => $timeEnd, 'medico_id' => App\Medico::all()->random()->id]; });