.../config/filesystem.php
'parent_disk' => [
'driver' => 'local',
'root' => '/home/garjoo5/test/garjoonepal/storage/app/images',
'visibility' => 'public',
],
.../controller file
public function store(Request $request)
{
try {
DB::beginTransaction();
$advertisement = Advertisement::create([
'type' => $request->type,
'store_id' => $request->store_id,
'category_id' => $request->category_id,
'web_url' => $request->web_url,
'starts_on' => $request->starts_on,
'ends_on' => $request->ends_on,
]);
if ($request->hasFile('image')) {
$image = $request->file('image');
$profileImage = date('YmdHis') . "." . $image->getClientOriginalName();
$image->storeAs('admin/advertisement', $profileImage, 'parent_disk');
$profileImage = 'admin/advertisement/' . $profileImage;
$advertisement->image()->create(['path' => $profileImage]);
}
DB::commit();
} catch (QueryException $exception) {
DB::rollBack();
throw new InvalidArgumentException($exception->getMessage());
}
toastr()->success('Advertisement Created Successfully');
return redirect(route('advertisements.index'));
}
public function update(Request $request, Advertisement $advertisement)
{
try {
DB::beginTransaction();
$advertisement->update([
'type' => $request->type,
'store_id' => $request->store_id,
'category_id' => $request->category_id,
'web_url' => $request->web_url,
'starts_on' => $request->starts_on,
'ends_on' => $request->ends_on,
]);
if ($request->hasFile('image')) {
if ($advertisement->image()->count()) {
if (Storage::disk('parent_disk')->exists($advertisement->image->path)) {
Storage::disk('parent_disk')->delete($advertisement->image->path);
}
}
$image = $request->file('image');
$profileImage = date('YmdHis') . "." . $image->getClientOriginalName();
$image->storeAs('admin/advertisement', $profileImage, 'parent_disk');
$profileImage = 'admin/advertisement/' . $profileImage;
$advertisement->image->update(['path' => $profileImage]);
}
DB::commit();
} catch (QueryException $exception) {
DB::rollBack();
throw new InvalidArgumentException($exception->getMessage());
}
toastr()->success('Advertisement Created Successfully');
return redirect(route('advertisements.index'));
//
}
public function destroy(Advertisement $advertisement)
{
if (Storage::disk('parent_disk')->exists($advertisement->image->path)) {
Storage::disk('parent_disk')->delete($advertisement->image->path);
$advertisement->image->delete();
}
$advertisement->delete();
toastr()->success('Advertisement deleted Successfully');
return redirect(route('advertisements.index'));
}
إرسال تعليق