agences
php artisan make:seeder AgencesTableSeeder
- Le fichier ainsi généré sera placé dans le dossier database\seeds, sous le dossier du projet, et contiendra le code suivant :
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class AgencesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}
- Créer le fichier seeder avec la commande suivante :
php artisan make:seeder AgencesTableSeeder
- Éditez ce fichier pour y ajouter les données désirées à l'aide de \DB::table().
public function run()
{
\DB::table('agences')->insert([
[
'Num_Agence' => 'A12APCPEDAGOGIE',
'Nom_Agence' => 'A12APCPEDAGOGIE Siège',
'Ville_Agence' => 'Nabeul Centre',
'Actif_Agence'=> '1245.320',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Agence' => 'A13APCPEDAGOGIE',
'Nom_Agence' => 'A13APCPEDAGOGIE Filiale',
'Ville_Agence' => 'Darchaabene elfehri',
'Actif_Agence'=> '1245.320',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Agence' => 'A14APCPEDAGOGIE',
'Nom_Agence' => 'A14APCPEDAGOGIE Filiale',
'Ville_Agence' => 'Hammamet',
'Actif_Agence'=> '1245.320',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Agence' => 'A15APCPEDAGOGIE',
'Nom_Agence' => 'A15APCPEDAGOGIE Filiale',
'Ville_Agence' => 'Bni khiar',
'Actif_Agence'=> '1245.320',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Agence' => 'A16APCPEDAGOGIE',
'Nom_Agence' => 'A16APCPEDAGOGIE Filiale',
'Ville_Agence' => 'Korba',
'Actif_Agence'=> '1245.320',
'created_at' => now(),
'updated_at' => now(),
],
]);
}
}
- Puis exécuter la commande suivante:
php artisan db:seed --class=AgencesTableSeeder
clients
- Créer le fichier seeder avec la commande suivante :
php artisan make:seeder ClientsTableSeeder
- Éditez ce fichier pour y ajouter les données désirées à l'aide de \DB::table().
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class ClientsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
\DB::table('clients')->insert([
[
'Num_Client' => 'C4010001',
'Nom_Client' => 'Mohamed Salah',
'Prenom_Client' => 'FOURATI',
'Ville_Client'=> 'Nabeul',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Client' => 'C4010002',
'Nom_Client' => 'Nadia',
'Prenom_Client' => 'BEN ARFA',
'Ville_Client'=> 'Nabeul',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Client' => 'C4010003',
'Nom_Client' => 'Sadok',
'Prenom_Client' => 'HARRATH',
'Ville_Client'=> 'Nabeul',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Client' => 'C4010004',
'Nom_Client' => 'Moufida',
'Prenom_Client' => 'SFAR',
'Ville_Client'=> 'Nabeul',
'created_at' => now(),
'updated_at' => now(),
],
[
'Num_Client' => 'C4010005',
'Nom_Client' => 'Montassar',
'Prenom_Client' => 'JMAA',
'Ville_Client'=> 'Nabeul',
'created_at' => now(),
'updated_at' => now(),
],
]);
}
}
- Puis exécuter la commande suivante:
php artisan db:seed --class=ClientsTableSeeder
comptes
- Créer le fichier seeder avec la commande suivante :
php artisan make:seeder ComptesTableSeeder
- Éditez ce fichier pour y ajouter les données désirées à l'aide de \DB::table().
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class ComptesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
\DB::table('comptes')->insert([
[
'Num_Compte' => 'Compte000001',
'Solde_Compte' => '1245.320',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010001',
'Num_Agence' => 'A12APCPEDAGOGIE',
],
[
'Num_Compte' => 'Compte000002',
'Solde_Compte' => '3245.000',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010002',
'Num_Agence' => 'A13APCPEDAGOGIE',
],
[
'Num_Compte' => 'Compte000003',
'Solde_Compte' => '1245.320',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010002',
'Num_Agence' => 'A12APCPEDAGOGIE',
],
[
'Num_Compte' => 'Compte000004',
'Solde_Compte' => '4214.000',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010001',
'Num_Agence' => 'A15APCPEDAGOGIE',
],
[
'Num_Compte' => 'Compte000005',
'Solde_Compte' => '1245.320',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010005',
'Num_Agence' => 'A15APCPEDAGOGIE',
],
]);
}
}
- Puis exécuter la commande suivante:
php artisan make:seeder ComptesTableSeeder
emprunts
- Créer le fichier seeder avec la commande suivante :
php artisan make:seeder EmpruntsTableSeeder
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class EmpruntsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
\DB::table('Emprunts')->insert([
[
'Num_Emprunt' => 'Emprunt000001',
'Montant_Emprunt' => '1245.320',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010001',
'Num_Agence' => 'A12APCPEDAGOGIE',
],
[
'Num_Emprunt' => 'Emprunt000002',
'Montant_Emprunt' => '3245.000',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010002',
'Num_Agence' => 'A13APCPEDAGOGIE',
],
[
'Num_Emprunt' => 'Emprunt000003',
'Montant_Emprunt' => '1245.320',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010002',
'Num_Agence' => 'A12APCPEDAGOGIE',
],
[
'Num_Emprunt' => 'Emprunt000004',
'Montant_Emprunt' => '4214.000',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010001',
'Num_Agence' => 'A15APCPEDAGOGIE',
],
[
'Num_Emprunt' => 'Emprunt000005',
'Montant_Emprunt' => '1245.320',
'created_at' => now(),
'updated_at' => now(),
'Num_Client' => 'C4010005',
'Num_Agence' => 'A15APCPEDAGOGIE',
],
]);
}
}
- Puis exécuter la commande suivante:
php artisan make:seeder EmpruntsTableSeeder
Étape - 5: Ajouter une route de ressources
- Pour ajouter une route ouvrez votre fichier "routes/web.php" et ajoutez la route suivante.
Route::resource('agences', App\Http\Controllers\AgenceController::class);
Route::resource('clients', App\Http\Controllers\ClientController::class);
Route::resource('comptes', App\Http\Controllers\CompteController::class);
Route::resource('emprunts', App\Http\Controllers\EmpruntController::class);
Étape - 6: Ajouter un contrôleur et un modèle
- Dans cette étape, nous allons créer nos modèles "TableController" et " Table" en utilisant les commandes artisan suivantes dans le terminal.
php artisan make:controller AgenceController --resource --model=Agence
php artisan make:controller ClientController --resource --model=Client
php artisan make:controller CompteController --resource --model=Compte
php artisan make:controller EmpruntController --resource --model=Emprunt

- Après l'exécution des commandes ci-dessous, vous trouverez deux nouveaux fichiers pour chaque classe:
- Premier fichier
- Un nouveau fichier dans ce chemin "app/Http/Controllers/ProduitController.php" qui contient sept méthodes qui sont listées ci-dessous.
1)index()
2)create()
3)store()
4)show()
5)edit()
6)update()
7)destroy()
Fichier AgenceController
<?php
namespace App\Http\Controllers;
use App\Models\Agence;
use Illuminate\Http\Request;
class AgenceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$agences = Agence::latest()->paginate(4);
return view('agences.index',compact('agences'))
->with('i', (request()->input('page', 1) - 1) * 4);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('agences.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'Num_Agence' => 'required',
'Nom_Agence' => 'required',
'Ville_Agence' => 'required',
'Actif_Agence' => 'required',
'created_at' => 'required',
]);
Agence::create($request->all());
return redirect()->route('agences.index')
->with('success','Agence créé avec succès.');
}
/**
* Display the specified resource.
*
* @param \App\Models\Agence $agence
* @return \Illuminate\Http\Response
*/
public function show(Agence $agence)
{
return view('agences.show',compact('agence'));
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\Agence $agence
* @return \Illuminate\Http\Response
*/
public function edit(Agence $agence)
{
return view('agences.edit',compact('agence'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Agence $agence
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Agence $agence)
{
$request->validate([
'Num_Agence' => 'required',
'Nom_Agence' => 'required',
'Ville_Agence' => 'required',
'Actif_Agence' => 'required',
'updated_at' => 'required',
]);
$agence->update($request->all());
return redirect()->route('agences.index')
->with('success','Agence mis à jour avec succès');
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Agence $agence
* @return \Illuminate\Http\Response
*/
public function destroy(Agence $agence)
{
$agence->delete();
return redirect()->route('agences.index')
->with('success','Agence supprimé avec succès');
}
}
Fichier Model Agence.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Agence extends Model
{
use HasFactory;
public $primaryKey = 'Num_Agence';
public $incrementing = false;
protected $fillable = [
'Num_Agence', 'Nom_Agence', 'Ville_Agence', 'Actif_Agence', 'created_at'
];
}
Étape - 7: Ajouter des fichiers de Blades
- Il faut commencer par la création d'une structure de vues
- Avant de commencer la création des views, créer leur structure Views en créant les dossiers et les fichiers dans l’exemple suivant:
|
– resources
— views
— layouts
——- default.blade.php
— elements
——- head.blade.php
——- header.blade.php
——- footer.blade.php
— pages
——- home.blade.php
|
— Agence
——- index.blade.php
——- edit.blade.php
——- show.blade.php
— client
——- index.blade.php
——- edit.blade.php
——- show.blade.php
— emprunt
——- index.blade.php
——- edit.blade.php
——- show.blade.php
— compte
——- index.blade.php
——- edit.blade.php
——- show.blade.php
|
- Fichier index.blade.php de l'agence
@extends('layouts.default')
@section('content')
<div class="row">
<div class="col-lg-12">
<div class="float-start">
<h2>Gestion des agences</h2>
</div>
<div class="float-end mb-2" style="margin-right: -30px">
<a class="btn btn-success" href="{{ route('agences.create') }}"> Ajouter une nouvelle agence</a>
</div>
</div>
</div>
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<table class="table table-bordered">
<tr>
<th>Num</th>
<th>Nom</th>
<th>Ville</th>
<th>Actif</th>
<th width="240px">Action</th>
</tr>
@foreach ($agences as $agence)
<tr>
<td>{{ $agence->Num_Agence }}</td>
<td>{{ $agence->Nom_Agence }}</td>
<td>{{ $agence->Ville_Agence }}</td>
<td>{{ $agence->Actif_Agence}}</td>
<td>
<form action="{{ route('agences.destroy',$agence->Num_Agence) }}" method="POST">
<a class="btn btn-info" href="{{ route('agences.show',$agence->Num_Agence) }}">Show</a>
<a class="btn btn-primary" href="{{ route('agences.edit',$agence->Num_Agence) }}">Edit</a>
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">Delete</button>
</form>
</td>
</tr>
@endforeach
</table>
<div class="d-flex justify-content-center pagination-md">
{!! $agences->links('pagination::bootstrap-4') !!}
</div>
@endsection
Étape - 8: Exécuter l'application