Laravel: esempio CRUD
CRUD: inserire leggere, modificare, cancellare
Inserire
Per prima cosa dovremo creare un model, cioe’ la logica del nostro progetto, attraverso CLI :
php artisan make:model utenti
Questo comando creera' nella cartella app il file utenti.php, che verra' utilizzato per inserire dati.
Per farlo nel file routes.php inseriamo le seguenti itstruzioni:
Route:: get(' inserisci', function(){
$utenti= new \App\ utenti();
$utenti -> nome =' nome ';
$utenti -> email ='email@gmail.com';
$utenti -> password ='password';
$utenti -> save();
});
Per rinominare il file:
php artisan make:migration rinomina_utenti
Poi le istruzioni:
public function up(){ Schema:: rename('nomevecchio,' nomenuovo’); }
Sia nella function up() che down().
Soluzione di alcuni problemi:
- Potrebbe succedere di dover agguingere 2 colonne upadet_at e anche created_at o attraverso phpmyadmin oppure attraverso le istruzioni di sopra.
- Laravel potrebbe mettere al plurale il nome della tabella: “utenitis “, dando poi un warning di errore .
In questo caso nel file creato utenti.php, immettere le istruzioni che impongono il nome della tabella :
class utenti extends Model
{
public $table = "utenti";
}
Leggere
con la clausola where, like, or, solo alcuni campi
Route::get('leggere', function(){
return \App\utenti:: where('nome','like','like%')
->orWhere('email','=','email@gmail.com')
->get();
});
Oppure con un ciclo
Route::get('ciclo',function(){
$collezione =\App\utenti:: all();
foreach( $collezione as $id){
echo $id." < br />";
}
});
Modificare
Se abbiamo id esempio = 1
Route::get('modifica', function(){
$utenti= new \App\utenti();
$utenti = \App\utenti::find(1);
$utenti -> nome ='nuovonome';
$utenti ->save();
});
se invece vogliamo un criterio
Route::get('modifica', function(){
$utenti= new \App\utenti();
$utenti = \App\utenti::where('nome', 'nomecercato')
->update(['nome' => 'nuovonome']);
});
Cancellare
Route:: get('delete', function(){ \App\utenti:: where('nome', 'nomecercato')->delete();});