'array', 'pictures' => 'array', ]; public function excerpt() { return Str::words($this->description, 10); } public function scopePriceMax(QueryBuilder $query, $price): QueryBuilder { return $query->where('price', '<=', $price); } public function scopePriceMin(QueryBuilder $query, $price): QueryBuilder { return $query->where('price', '>=', $price); } public function scopeSurfaceMax(QueryBuilder $query, $price): QueryBuilder { return $query->where('surface', '<=', $price); } public function scopeSurfaceMin(QueryBuilder $query, $price): QueryBuilder { return $query->where('surface', '>=', $price); } public function scopeGardenSurfaceMax(QueryBuilder $query, $price): QueryBuilder { return $query->where('garden_surface', '<=', $price); } public function scopeGardenSurfaceMin(QueryBuilder $query, $price): QueryBuilder { return $query->where('garden_surface', '>=', $price); } /** * The "booted" method of the model. * * @return void */ protected static function booted() { // Download images on creation static::created(static function ($home) { Artisan::call('app:downloadimage ' . $home->id); }); } }