mirror of
https://github.com/robonen/metr.git
synced 2026-03-20 02:44:42 +00:00
Image uploading
This commit is contained in:
@@ -7,6 +7,7 @@ use App\Http\Requests\StoreOfferRequest;
|
||||
use App\Http\Requests\UpdateOfferRequest;
|
||||
use App\Http\Resources\OfferResource;
|
||||
use App\Models\Offer;
|
||||
use App\Models\OfferPhoto;
|
||||
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
||||
|
||||
class OfferController extends Controller
|
||||
@@ -14,11 +15,17 @@ class OfferController extends Controller
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @param \App\Filters\OfferFilter $filters
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
public function index(OfferFilter $filters): AnonymousResourceCollection
|
||||
{
|
||||
return OfferResource::collection(Offer::filter($filters)->get());
|
||||
return OfferResource::collection(
|
||||
Offer::filter($filters)
|
||||
->latest()
|
||||
->with('images')
|
||||
->get()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -29,8 +36,7 @@ class OfferController extends Controller
|
||||
*/
|
||||
public function show(int $id): OfferResource
|
||||
{
|
||||
$offer = Offer::findOrFail($id);
|
||||
return new OfferResource($offer);
|
||||
return new OfferResource(Offer::with('images')->findOrFail($id));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,7 +47,19 @@ class OfferController extends Controller
|
||||
*/
|
||||
public function store(StoreOfferRequest $request): OfferResource
|
||||
{
|
||||
return new OfferResource(Offer::create($request->validated()));
|
||||
$data = $request->validated();
|
||||
$images = $data['images'];
|
||||
|
||||
$offer = auth()->user()->offers()->create($data);
|
||||
|
||||
foreach ($images as $image)
|
||||
{
|
||||
$offer_photo = OfferPhoto::findOrFail($image['id']);
|
||||
$offer_photo->offer_id = $offer->id;
|
||||
$offer_photo->save();
|
||||
}
|
||||
|
||||
return new OfferResource($offer);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -68,4 +86,16 @@ class OfferController extends Controller
|
||||
$offer = Offer::findOrFail($id);
|
||||
$offer->delete();
|
||||
}
|
||||
|
||||
public function allByUser(): AnonymousResourceCollection
|
||||
{
|
||||
return OfferResource::collection(
|
||||
auth()
|
||||
->user()
|
||||
->offers()
|
||||
->latest()
|
||||
->with('images')
|
||||
->get()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user