Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

themsaid/ergodnc

262 stars
2 code files
View themsaid/ergodnc on GitHub

app/Http/Resources/OfficeResource.php

Open in GitHub
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Arr;
 
class OfficeResource extends JsonResource
{
public function toArray($request)
{
return [
'user' => UserResource::make($this->whenLoaded('user')),
'images' => ImageResource::collection($this->whenLoaded('images')),
'tags' => TagResource::collection($this->whenLoaded('tags')),
'featured_image' => ImageResource::make($this->whenLoaded('featuredImage')),
'reservations_count' => $this->resource->reservations_count ?? 0,
 
$this->merge(Arr::except(parent::toArray($request), [
'user_id', 'created_at', 'updated_at',
'deleted_at'
]))
];
}
}

app/Http/Controllers/OfficeController.php

Open in GitHub
use App\Http\Resources\OfficeResource;
use App\Models\Office;
use App\Models\Reservation;
use Illuminate\Http\Resources\Json\JsonResource;
 
class OfficeController extends Controller
{
//
public function show(Office $office): JsonResource
{
$office->loadCount(['reservations' => fn($builder) => $builder->where('status', Reservation::STATUS_ACTIVE)])
->load(['images', 'tags', 'user']);
 
return OfficeResource::make($office);
}
//
}

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.