<?php namespace Modules\Location\Models; use App\BaseModel; use Kalnoy\Nestedset\NodeTrait; use Illuminate\Database\Eloquent\SoftDeletes; class LocationCategory extends BaseModel { use SoftDeletes; use NodeTrait; protected $table = 'location_category'; protected $fillable = [ 'name', 'content', 'slug', 'icon_class', 'status', 'parent_id' ]; protected $slugField = 'slug'; protected $slugFromField = 'name'; public static function getModelName() { return __("Location Category"); } public static function searchForMenu($q = false) { $query = static::select('id', 'name'); if (strlen($q)) { $query->where('name', 'like', "%" . $q . "%"); } $a = $query->orderBy('id', 'desc')->limit(10)->get(); return $a; } public function getDetailUrl(){ return url(app_get_locale(false, false, '/') . config('tour.tour_route_prefix').'?cat_id[]='.$this->id); } public function dataForApi(){ $translation = $this->translate(); return [ 'id'=>$this->id, 'name'=>$translation->name, 'slug'=>$this->slug, ]; } public function location_category_translations(){ return $this->hasOne(LocationCategoryTranslation::class,'origin_id')->where('locale',app()->getLocale()); } }