Bonjour,
Voila je rencontre un petit problème avec mon code.
j'ai controlleur machines avec une methode show qui menne vers une vue
public function show(Machine $machine)
{
abort_if(Gate::denies('machine_show'), Response::HTTP_FORBIDDEN, '403 Forbidden');
$machine->load('machinePannes');
return view('dashboard.machines.show', compact('machine'));
}
dans ma vue je fais une boucle pour avec mes machines et un lien qui mene vers la vue show avec l'id de la machine
@foreach ($machines as $machine)
<a href="{{ route('admin.machines.show', $machine->id) }}" class="tile-v2 alerte-bleu-bis popovers">
<div class="tile-id-automate">{{$machine->num_horo}}</div>
</a>
@endforeach
das la vue show de la machine j'ai une lien en bas ou je peut creer une panne
<table class="table table-bordered table-striped">
<tbody>
<tr>
<th>
id
</th>
<td>
{{ $machine->id }}
</td>
</tr>
<tr>
<th>
Numero quartier
</th>
<td>
{{ $machine->num_quartier }}
</td>
</tr>
<tr>
<th>
quartier
</th>
<td>
{{ $machine->quartier }}
</td>
</tr>
<tr>
<th>
numero horodateur
</th>
<td>
{{ $machine->num_horo }}
</td>
</tr>
<tr>
<th>
adresse
</th>
<td>
{{ $machine->adresse }}
</td>
</tr>
<tr>
<th>
type
</th>
<td>
{{ $machine->type }}
</td>
</tr>
<tr>
<th>
type tarif
</th>
<td>
{{ $machine->type_tarif }}
</td>
</tr>
<tr>
<th>
tarif
</th>
<td>
{{ $machine->tarifs }}
</td>
</tr>
</tbody>
</table>
<div style="margin-bottom: 10px;" class="row">
<div class="col-lg-12">
<a class="btn btn-success" href="{{ route('admin.pannes.create') }}">
Ajouter Panne
</a>
</div>
</div>
public function create()
{
abort_if(Gate::denies('panne_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');
$machines = Machine::all()->pluck('num_horo', 'id');
$infos = Information::all()->pluck('info_name', 'id');
$pieces = Piece::all()->pluck('pieces_name', 'id');
return view('dashboard.pannes.create', compact('machines', 'infos', 'pieces'));
}
dans le formulaire je fais une boucle je recupere tous les num machines dans une select
<select class="form-control {{ $errors->has('machine') ? 'is-invalid' : '' }}" name="machine_id" id="machine_id">
@foreach($machines as $id => $machine)
<option value="{{ $id }}" {{ old('machine_id') == $id ? 'selected' : '' }}>{{ $machine }}</option>
@endforeach
</select>
je voudrai que depuis la vue vue show de la machine je recupere l'id de la machine direct et l'injecter dans le create dans devoir choisir le numero de machine dans un select je ne sais pas si j'ai pu bien m'exprimer
Salut,
Voilà qui devrait t'aider : https://laravel.com/docs/7.x/controllers#restful-nested-resources
Salut,
Voila ta solution :
// Routes/web.php
Route::get('admin/pannes/{machine}', 'PanneController@create')->name('admin.pannes.create');
// Machines/Show.blade.php
...
<div class="col-lg-12">
<a class="btn btn-success" href="{{ route('admin.pannes.create', $machine) }}">
Ajouter Panne
</a>
</div>
// PanneController.php
...
public function create(Machine $machine)
{
abort_if(Gate::denies('panne_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');
$machines = Machine::all()->pluck('num_horo', 'id');
$infos = Information::all()->pluck('info_name', 'id');
$pieces = Piece::all()->pluck('pieces_name', 'id');
return view('dashboard.pannes.create', compact('machine', 'machines', 'infos', 'pieces'));
}
...
// Pannes/Create.blade.php
...
<select class="form-control {{ $errors->has('machine') ? 'is-invalid' : '' }}" name="machine_id" id="machine_id">
@foreach($machines as $m)
<option value="{{ $m->id }}" {{ $m->id == $machine->id ? 'selected' : '' }}>{{ $m->num_horo }}</option>
@endforeach
</select>
...
Normalement ca devrait bien t'aider :)
A+