سلام خسته نباشید
ببخشید توی متد store اومدیم هم create کردیم هم تصویر اپلود کردیم و هم update کردیم . میخواستم بدونم اصل تک مسئولیتی نقض نشده ؟
من اومدم متد اپدیت رو پاک کردم و مستقیم با متد create نوشتمش ، درست و غلطش رو بهم بگید لطفا . مخصوصا روشی که اخرین ایدی رو گرفتم .
public function store (AddProductRequest $request)
{
$validData = $request->validated();
$admin = User::where('role' , 'admin')->first();
$lastId = $this->products->max('id');
try {
$basePath = 'products/' . ($lastId + 1) . '/' ;
$sourceImagePath = $basePath . 'source_url' . '_' . $validData['source_url']->getClientOriginalName();
$images = [
'demo_url' => $validData['demo_url'],
'thumbnail_url' => $validData['thumbnail_url'],
];
$imagesPath = ImageUploader::multiUploader($images, $basePath);
ImageUploader::upload($sourceImagePath, $validData['source_url'], 'local_storage');
$addResult = Product::create([
'title' => $validData['title'],
'price' => $validData['price'],
'description' => $validData['description'],
'category_id' => $validData['category_id'],
'demo_url' => $imagesPath['demo_url'],
'thumbnail_url' => $imagesPath['thumbnail_url'],
'source_url' => $sourceImagePath,
'owner_id' => $admin->id,
]);
if (!$addResult) {
return back()->with('failed', 'محصول اضافه نشد');
}
return back()->with('success', ' محصول اضافه شد');
} catch (\Exception $e) {
return back()->with('failed',$e->getMessage());
}
}