Académique Documents
Professionnel Documents
Culture Documents
Présenté par:
Wajdi BOUAZIZ
LARAVEL permet une intégration facile avec les BD en utilisant soit le langage SQL brut soit l’ORM
Eloquent.
LARAVEL utilise PDO (PHP Data Objects) pour gérer les requêtes SQL.
1- créer une base de données : ouvrir phpmyadmin de votre serveur et céer la base de données de votre
projet LARAVEL
Nous allons commencer par la création d’un model éloquent qui sera généré dans le
dossier App/Models
Nous allons commencer par la création d’un model éloquent qui sera généré dans le
dossier App/Models
$table->string(‘nom’);
$table->string();
$table->longtext();
$table->double();
$table->dateTime();
$table->integer(‘’);
$table->float(‘’);
$table->boolean(‘’);
3- Les migrations de base de données dans LARAVEL
Les migrations dans laravel présente un processus de gestion de votre base de données
Les migrations seront générées dans le dossier databases/migrations et contienent un horodatage qui
permet au framework de déterminer l’ordre d’execution des migrations
$table->boolean(‘etat’)->default(0);
$table->unsignedBigInteger(‘category_id’);
$table->foreign('category_id')->references('id')->on(‘categories')->onDelete('cascade');
3- Les migrations de base de données dans LARAVEL
Activité :
- Faite la même chose pour la table products(id, nom, photo, description, prix, #category_id)
One to One:
Pour définir cette relation : il suffit de créer une méthode phone() dans le modèle User qui retourne la methode hasOne()
Et une méthode user() dans le modèle Phone qui retourne la methode belongsTo()
class User extends Model class Phone extends Model
{ {
public function phone() public function user()
{ {
//return $this->hasOne(Phone::class); //return $this->belongsTo(User::class);
return $this->hasOne('App\Models\Phone'); return $this-> belongsTo('App\Models\User');
} }
} }
4- Les relations LARAVEL Eloquent
One to Many:
Créer une méthode product() dans le modèle Category qui retourne la methode hasMany()
Et une méthode category() dans le modèle Product qui retourne la methode belongsTo()
Many to Many:
- Après la création des models et des tables dans la base de données, nous sommes
prêt maintenant pour générer les CRUD (controllers et vues)
php artisan make:controller CategoriesController --resource --model=Category
Ou créer le tout à la fois (model, migration, controller)
php artisan make:model Category -mcr
- Dans le fichieir routes/web.php ajouter une route ressource
Route::resource('categories','CategoriesController');
- Pour afficher toutes les routes
php artisan route:list
- Nous remarquons que les routes du controller categorie seront générées
5- Génération des CRUDs
return view('categories.index',compact('categories'));
}
5- Génération des CRUDs
Category::create($request->all());
return redirect()->route('categories.index’)
->with('success','Categorie créé avec succès.');
}
5- Génération des CRUDs
return redirect()->route('categories.index')
->with('success','Categorie mise à jour avec succès');
}
return redirect()->route('categories.index')
->with('success','categorie supprimé avec succès');
}
6- Les vues de CRUD sous LARAVEL
Il nous reste que la création des vue avec le Template.
Notre site e-commerce admet déjà une partie admin pour gérer les categorie, les produits, consulter les clients, consulter
les commandes et les imprimer…
Alors, dans ce cas on doit bien organiser notre dosseirs resources/views dans le quel on va séparer les vues de la partie
client (site web) à part et les vues de la partie admin à part.
Nous pouvons créer des dossiers pour organiser nos fichiers : front/ et back/
https://apcpedagogie.com/les-operations-crud-avec-eloquent-laravel-2-3/
https://apcpedagogie.com/les-operations-crud-avec-eloquent-laravel-3-3/