Académique Documents
Professionnel Documents
Culture Documents
databases/migrations/2022_X_X_XXXXX_create_employes_ta
ble.php et app/Models/Employe.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('employes');
}
}
Puis taper la commande suivante pour que la table soit créer dans
la base de données :
php artisan migrate
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Employe;
class EmployeController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$employes = Employe::all();
return view('employe.index', compact('employes'));
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('employe.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'nom'=>'required',
'prénom'=>'required',
'Ville'=> 'required',
'company' => 'required',
'Salaire' => 'required'
]);
$employe = new Employe();
$employe->nom= $request->input('nom');
$employe->prénom= $request->input('prénom');
$employe->Ville = $request->input('Ville');
$employe->company = $request->input('company');
$employe->Salaire= $request->input('Salaire');
$employe->save();
return redirect('/')->with('success', 'Employer Ajouté avec
succès');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$employe1 = Employe::find($id);
// $personnage = Personnage::findOrFail($id);
// return view('personnage.show', compact('personnage'));
return view('employe.show',['employe'=>$employe1]); }
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$employe = Employe::findOrFail($id);
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$request->validate([
'nom'=>'required',
'prénom'=>'required',
'Ville'=> 'required',
'company' => 'required',
'Salaire' => 'required'
]);
$employe1 = Employe::findOrFail($id);
$employe1->nom = $request->get('nom');
$employe1->prénom = $request->get('prénom');
$employe1->Ville = $request->get('Ville');
$employe1->company = $request->get('company');
$employe1->Salaire = $request->get('Salaire');
$employe1->update();
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$emp = Employe::findOrFail($id);
$emp->delete();
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
Nous allons créer des routes en utlisant le group des routes avec la fonction controller de
Laravel 9 :
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PersonnageController;
use App\Http\Controllers\EmployeController;
/*
|----------------------------------------------------------------------
----
| Web Routes
|----------------------------------------------------------------------
----
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::controller(EmployeController::class)->group(function () {
Route::get('/employe', 'index');
Route::get('/employe/create', 'create');
Route::get('/employe/{id}', 'show');
Route::get('/employe/{id}/edit', 'edit');
Route::post('/employe', 'store');
Route::patch('/employe/{id}', 'update');
Route::delete('/employe/{id}', 'destroy');
});
layouts/app.blade.php
<!DOCTYPE html>
<html lang="fr">
<head>
</head>
<body>
</body>
</html>
Taper la commande suivante pour lancer l'application :
employe/index.blade.php
@extends('layouts.app')
@section('content')
<div class="row">
<div class="col-lg-11">
<div class="col-lg-1">
<a class="btn btn-success" href="{{ url('employe/create')
}}">Ajouter</a>
</div>
</div>
@endif
<tr>
<th>Numéro</th>
<th>Nom</th>
<th>prénom</th>
<th>Company</th>
<th>Ville</th>
<th>Salaire</th>
<th>Actions</th>
</tr>
<tr>
<td>{{ $index+1 }}</td>
<td>{{ $employe->nom }}</td>
<td>{{ $employe->prénom }}</td>
<td>{{ $employe->company }}</td>
<td>{{ $employe->Ville }}</td>
<td>{{ $employe->Salaire }}</td>
<td>
<form action="{{ url('employe/'. $employe->id) }}"
method="POST">
@csrf
@method('DELETE')
</form>
</td>
</tr>
@endforeach
</table>
@endsection
employe/create.blade.php
Après ajout
@extends('layouts.app')
@section('content')
<h1>Ajouter un employé</h1>
@if ($errors->any())
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<label for="company">Company:</label>
<input type="text" class="form-control" id="company"
placeholder="Company" name="company">
</div>
</form>
@endsection
employe/show.blade.php
@extends('layouts.app')
@section('content')
<tr>
<th>Nom:</th>
<td>{{ $employe->nom }}</td>
</tr>
<tr>
<th>Prénom:</th>
<td>{{ $employe->prénom }}</td>
</tr>
<tr>
<th>Société:</th>
<td>{{ $employe->company }}</td>
</tr>
<tr>
<th>Ville:</th>
<td>{{ $employe->Ville}}</td>
</tr>
<tr>
<th>Salaire:</th>
<td> {{ $employe->Salaire }} DH</td>
</tr>
</table>
@endsection
employe/edit.blade.php
Après la modification
@extends('layouts.app')
@section('content')
<h1>Modifier employé</h1>
@if ($errors->any())
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<label for="nom">Nom:</label>
<input type="text" class="form-control" id="nom"
placeholder="Entrer Nom" name="nom" value="{{ $employe->nom }}">
</div>
<div class="form-group mb-3">
<label for="prénom">Prénom:</label>
<input type="text" class="form-control" id="prénom"
placeholder="Entrer prénom" name="prénom" value="{{ $employe->prénom
}}">
</div>
</div>
</div>
<label for="detail">Adresse:</label>
<textarea class="form-control" id="Ville" name="Ville"
rows="10" placeholder="Ville">{{ $employe->Ville }}</textarea>
</div>
</form>
@endsection
Supprimer :