Membuat data product laravel 11 api

Product Controller

Feb 19, 2025 - 11:06
 0
Membuat data product laravel 11 api

Product Controller

validated();
        if ($request->hasFile('image')) {
            $image = $request->file('image');
            $image->move(public_path('images/'), $image->getClientOriginalName());
            $data['image'] = asset('images/' . $image->getClientOriginalName());
        } else {
            $data['image'] = '-';
        }
        $product = Products::create($data);

        return new ProductResource(true, 'Berhasil Menyimpan Product', $product);
    }

    /**
     * Display the specified resource.
     */
    public function show(Products $product)
    {
        return new ProductResource(true, 'Data product', $product);
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, Products $product)
    {
        $data = $request->all();
        if ($request->hasFile('image')) {
            $image = $request->file('image');
            $path = $image->move(public_path('/images'), $image->getClientOriginalName());
            $data['image'] = $path;
        } else {
            $data['image'] = '-';
        }
        $product->update($data);
        return new ProductResource(true, 'Product Berhasil Di update', $product);
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(Products $product)
    {
        $product->delete();
        return new ProductResource(true, 'Product Berhasil Di Hapus', $product);
    }
}
__

Membuat halaman resource dengan code product

status=$status;
         $this->message=$message;
    }
    /**
     * 
     * Transform the resource into an array.
     *
     * @return array
     */
    public function toArray(Request $request): array
    {
        return [
            'status' => $this->status,
            'message'=> $this->message,
            'data' => $this->resource
        ];
    }
}