0, 'day' => null, 'morning_start' => null, 'morning_end' => null, 'afternoon_start' => null, 'afternoon_end' => null, 'interval' => '00:15', 'max_orders_per_interval' => null, 'min_order_preparation' => '01:00' ]; /** * TimeslotSettingResource * * @param \App\Models\Shop\TimeslotSetting $timeslot_setting */ public function __construct(TimeslotSetting $timeslot_setting) { $this->skeleton['day'] = WeekDay::monday(); $this->timeslot_setting = $timeslot_setting; } /** * Transform the resource into an array. * * @param mixed $request * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass */ public function toArray($request) { // phpcs:enable $data = array_intersect_key( $this->timeslot_setting->toArray(), $this->skeleton ); // * Application valeurs par défaut. $data['interval'] = $this->timeslot_setting->interval ?? $this->skeleton['interval']; $data['min_order_preparation'] = $this->timeslot_setting->min_order_preparation ?? $this->skeleton['min_order_preparation']; return $data; } }