
¿Cómo guardar Input tipo Radio en Laravel? En todo proyecto es crucial manejar todo tipo de Inputs de formularios para insertar y/o guardar valores en MySQL y Laravel.
¿Cómo guardar Input tipo Radio en Laravel?
Para guiadera correctamente input de tipo radio debemos de crear: Migración y modelo, controlador, vista y crear las rutas necesarias.
Ademas, aprenderemos a insertar de manera eficaz los inputs de tipo radio. A continuación, veremos 7 pasos para concretar el ejemplo.
Paso 1: Instalar Laravel
Este paso no es obligatorio; sin embargo, si no has creado la aplicación Laravel, puedes ejecutar el siguiente comando:
composer create-project laravel/laravel example-radio
Paso 2: Configuración de la base de datos
En el segundo paso, realizaremos la configuración de la base de datos, por ejemplo, el nombre de la base de datos, el nombre de usuario, la contraseña, etc. Sin embargo, son configuraciones vitales para el correcto funcionamiento de la aplicación.
Por lo tanto, abramos el archivo .env
y completemos todos los detalles como se muestra a continuación:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_radio
DB_USERNAME=root
DB_PASSWORD=
Paso 3: Crear la tabla de migración y modelo
Vamos a crear una aplicación para la tabla estudiantes. Por lo tanto, tenemos que crear la migración para la tabla «estudiantes
» utilizando el comando php artisan de Laravel. Primero, ejecute el siguiente comando:
php artisan make:mode Student -m
Esto creara la migración y el modelo para nuestro ejemplo
Datos de la migración
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('students', function (Blueprint $table) {
$table->id();
$table->string('nombre')->nullable();
$table->string('genero')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('students');
}
};
Modelo de estudiantes
Bien, entonces, después de ejecutar el siguiente comando, encontrará «app/Models/Student.php
» y colocará el siguiente contenido en el archivo Student.php
:
app/Models/Student.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
use HasFactory;
protected $fillable = [
'nombre',
'genero',
];
}
Luego ejecutar el siguiente comando
php artisan migrate
Con esta acción hemos insertado la migración creada a la base de datos.
Paso 4: Crear ruta
Aquí, necesitamos agregar la ruta de recursos para la aplicación estudiantes. Por lo tanto, abra el archivo «routes/web.php
» y agregue la siguiente ruta.
routes/web.php
<?php
use App\Http\Controllers\SoporteController;
use App\Http\Controllers\StudentController;
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/agregar-estudiante', [StudentController::class, 'index'])->name('student.index');
Route::post('/radiocheck/store', [StudentController::class, 'store'])->name('student.store');
Paso 5: Agregar el controlador y el modelo
En este paso, ahora debemos crear un nuevo controlador llamado StudentController
. Por lo tanto, ejecute el siguiente comando y cree un nuevo controlador vinculado al modelo Student
.
php artisan make:controller StudentController --model=Student
Copiemos el código que aparece a continuación y colóquelo en el archivo StudentController.php
. Este archivo se encuentra en la siguiente ruta: app/Http/Controllers/StudentController.php
<?php
namespace App\Http\Controllers;
use App\Models\Student;
use Illuminate\Http\Request;
class StudentController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
return view("students.index");
}
public function store(Request $request)
{
Student::create([
'nombre' => $request->nombre,
'genero' => $request->genero,// optional
]);
return redirect()->route('student.index');
}
}
Paso 6: Agregar archivos Blade
En el último paso, solo tenemos que crear un archivo Blade, por lo que solo necesitamos crear un archivo Blade como el archivo index.blade.php
.
Por lo tanto, simplemente creemos el siguiente archivo y coloquemos el código a continuación.
resources/views/students/index.blade.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Insertar Radio Button a Laravel - Baulphp</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
</head>
<body>
<div class="container mt-3">
<div class="card">
<div class="card-header">
Agregar Estudiante
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<form action="{{route('student.store')}}" method="post">
@csrf
<div class="mb-3">
<label class="form-label">Nombre</label>
<input type="text" name="nombre" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Genero</label>
<div class="form-check">
<input class="form-check-input" type="radio" name="genero" value="Masculino">
<label class="form-check-label" for="flexRadioDefault2">
Masculino
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="genero" value="Femenino">
<label class="form-check-label" for="flexRadioDefault2">
Femenino
</label>
</div>
</div>
<button class="btn btn-primary">Insertar</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Paso 7: Ejecutar la aplicación Laravel:
Se han realizado todos los pasos necesarios, ahora debe escribir el siguiente comando y presionar Enter para ejecutar la aplicación Laravel:
php artisan serve
Ahora, vaya a su navegador web, escriba la URL indicada y vea el resultado de la aplicación:
http://127.0.0.1:8000/agregar-estudiante
