Ultima Laravel
Share
Explore
Ejemplo tabla alumnos

Resumen ejemplo

Instalar Laravel 9 (Instalación rápida)
composer create-project laravel/laravel colegio
Version laravel
php artisan --version
image.png
Configuración BD
.env
image.png
Modelos, migraciones y controladores
Exploremos cada uno de estos conceptos un poco más profundo:
Vamos a crear un modelo, una migración y un controlador de recursos para nuestros alumnos con el siguiente comando:
Crear Migración
le permiten crear y modificar fácilmente las tablas en su base de datos. Aseguran que exista la misma estructura de base de datos en todos los lugares donde se ejecuta su aplicación.
php artisan make:migration create_alumnos_table --create=alumnos
image.png
php artisan migrate
Crear controlador y modelo
proporcionan una interfaz potente y agradable para que interactúes con las tablas de tu base de datos.
son responsables de procesar las solicitudes realizadas a su aplicación y devolver una respuesta.
Casi todas las características que cree implicarán que todas estas piezas funcionen juntas en armonía, por lo que el artisan make:mode comando puede crearlas todas a la vez. (php artisan make:model -mrc Alumno)
php artisan make:controller AlumnoController --resource --model=Alumno
Se crearán los métodos en AlumnoController.php en la carpeta app/http:
1 )index()
2)create()
3)store()
4)show()
5)edit()
6)update()
7)destroy()
app/Http/Controllers/AlumnoController.php
image.png
<?php
namespace App\Http\Controllers;
use App\Models\Alumno;
use Illuminate\Http\Request;

class AlumnoController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$alumnos = Alumno::orderBy('id','desc')->paginate(15);
return view('alumnos.index', compact('alumnos'));
//Sin paginar
$alumnos = Alumno::all();
return view('alumnos.index', ['alumnos' => $alumnos]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('alumnos.create');
}

/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'nombre_apellido' => 'required|max:75',
'edad' => 'required|integer',
]);
Alumno::create($request->all());
return redirect()->route('alumno.index')
->with('success','Alumno created successfully.');
}
/**
* Display the specified resource.
*
* @param \App\Models\Alumno $alumno
* @return \Illuminate\Http\Response
*/
public function show(Alumno $alumno)
{
return view('alumnos.show',compact('alumno'));
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\Alumno $alumno
* @return \Illuminate\Http\Response
*/
public function edit(Alumno $alumno)
{
return view('alumnos.edit',compact('alumno'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Alumno $alumno
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Alumno $alumno)
{
$request->validate([
'nombre_apellido' => 'required|max:75',
'edad' => 'required|integer',
]);
$alumno->update($request->all());
return redirect()->route('alumnos.index')
->with('success','Alumno updated successfully');
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Alumno $alumno
* @return \Illuminate\Http\Response
*/
public function destroy(Alumno $alumno)
{
$alumno->delete();
return redirect()->route('alumno.index')
->with('success','Alumno deleted successfully');
}
}
app/Models/Alumno.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Alumno extends Model
Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.