$specialities * @property-read int|null $specialities_count * * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule newQuery() * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule onlyTrashed() * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule query() * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereAddressType($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereDeletedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereDescription($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereMaxPrice($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereMinPrice($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereOffersMeal($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereScheduleId($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereServiceTypeId($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule withTrashed(bool $withTrashed = true) * @method static \Illuminate\Database\Eloquent\Builder|CustomSchedule withoutTrashed() * * @mixin \Eloquent */ class CustomSchedule extends Model { use SoftDeletes; protected $fillable = [ 'schedule_id', 'address_type', 'service_type_id', 'description', 'min_price', 'max_price', 'offers_meal', ]; protected $casts = [ 'min_price' => 'decimal:2', 'max_price' => 'decimal:2', 'offers_meal' => 'boolean', ]; public function schedule(): BelongsTo { return $this->belongsTo(Schedule::class); } public function serviceType(): HasOne { return $this->hasOne(ServiceType::class, 'id', 'service_type_id')->select('id', 'description'); } public function specialities(): HasMany { return $this->hasMany(CustomScheduleSpeciality::class, 'custom_schedule_id', 'id')->leftJoin('specialities', 'custom_schedules_specialities.speciality_id', '=', 'specialities.id') ->select('specialities.id', 'specialities.description', 'custom_schedules_specialities.custom_schedule_id'); } }