Bonjour,
Voila je rencontre un petit problème avec mon code.
public function store(Request $request)
{
$this->validate($request, [
'datepanne' => 'required|date_format:"Y-m-d H:i:s"',
'machine_id' => 'required|integer',
'car_id' => 'required|integer',
'info_id' => 'required|integer',
'description' => 'required',
"pieces" => "required|array",
"pieces.*" => "required|integer",
'photo_avant' => 'required|image|mimes:jpeg,jpg,png,gif,svg|max:13000',
'photo_apres' => 'required|image|mimes:jpeg,jpg,png,gif,svg|max:13000'
]);
$pieces = Piece::all();
$panne = Auth::user()->panne()->create($request->all());
$panne->pieces()->sync($request->input('pieces', []));
$piecespanneqty = 1;
if ($request->hasFile('photo_avant')) {
$mytime = Carbon::now('Europe/Paris')->format('d/m/y H:i:s');
$originalImageav= $request->file('photo_avant');
$thumbnailImageav = Image::make($originalImageav)->encode('jpg', 60)
->text($mytime, 80, 80, function($font) {
$font->size(24);
$font->color('#fdf6e3');
$font->align('center');
$font->valign('top');
$font->angle(45);
});
$thumbnailPathav = storage_path('app/public/images/thumbnail/');
$originalPathav = storage_path('app/public/images/');
$thumbnailImageav->save($originalPathav.time().$originalImageav->getClientOriginalName());
$thumbnailImageav->fit(60,60);
$thumbnailImageav->save($thumbnailPathav.time().$originalImageav->getClientOriginalName());
$panne->photo_avant=time().$originalImageav->getClientOriginalName();
$panne->save([60,'jpg']);
}
if ($request->hasFile('photo_apres')) {
$mytime = Carbon::now('Europe/Paris')->format('d/m/y H:i:s');
$originalImageap= $request->file('photo_apres');
$thumbnailImageap = Image::make($originalImageap)->encode('jpg', 60)
->text($mytime,80, 80,function($font) {
$font->size(24);
$font->color('#fdf6e3');
$font->align('center');
$font->valign('top');
$font->angle(45);
});
$thumbnailPathap = storage_path('app/public/images/thumbnail/');
$originalPathap = storage_path('app/public/images/');
$thumbnailImageap->save($originalPathap.time().$originalImageap->getClientOriginalName());
$thumbnailImageap->fit(60,60);
$thumbnailImageap->save($thumbnailPathap.time().$originalImageap->getClientOriginalName());
$panne->photo_apres=time().$originalImageap->getClientOriginalName();
$panne->save();
}
foreach ($pieces as $piece) {
$piece = Piece::find($piece['id']);
$piece->decrement('quantity', $piecespanneqty);
}
return redirect()->route('admin.machines.index');
}
je voudrai qu'il m'enleve la qauntité affecté par défaut sur les piéces utiliser et non pas decrementer toute la quantité de pieces de tout le stock
j'obtiens que lorsque je soumet le formulaire toutes les piéces du stock ce retrouvent mise à jour même si elle ne sont pas toutes utilisées
Salut,
Normal, tu sélectionnes toutes les pièces et plus tard tu décrémentes tout, il faut que tu ajoutes un filtre sur tes pièces
$pieces = Piece::all();
// ...
foreach ($pieces as $piece) {
$piece = Piece::find($piece['id']);
$piece->decrement('quantity', $piecespanneqty);
}
Petite astuce optimisation
PAS BIEN
foreach ($pieces as $piece) {
$piece = Piece::find($piece['id']);
$piece->decrement('quantity', $piecespanneqty);
}
BIEN
foreach ($pieces as $piece) {
$piece->decrement('quantity', $piecespanneqty);
}
merci beaucoup des fois on devient un peu con mais heureisement que la communauté est la pour s'entraider merci