Exemplo n.º 1
0
 /**
  * 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];
});