Edit File: City.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Spatie\Translatable\HasTranslations; class City extends BaseModel { use HasFactory, HasTranslations; protected $fillable = ['name', 'center', 'region_id']; public $translatable = ['name']; protected $casts = [ 'center' => 'json' ]; public function scopeSearch($query, $searchArray = []) { $query->where(function ($query) use ($searchArray) { if ($searchArray) { foreach ($searchArray as $key => $value) { if (str_contains($key, '_id')) { if (null != $value) { $query->Where($key, $value); } } elseif ('order' == $key) { } elseif ('created_at_min' == $key) { if (null != $value) { $query->WhereDate('created_at', '>=', $value); } } elseif ('created_at_max' == $key) { if (null != $value) { $query->WhereDate('created_at', '<=', $value); } } else { $query->Where($key, 'like', '%' . $value . '%'); } } } }); return $query->orderBy('created_at', request()->searchArray && request()->searchArray['order'] ? request()->searchArray['order'] : 'DESC'); } protected function asJson($value) { return json_encode($value, JSON_UNESCAPED_UNICODE); } public function region() { return $this->belongsTo(Region::class); } public function districts() { return $this->hasMany(District::class); } public function delegateJoinRequests() { return $this->hasMany(DelegateJoinrequest::class); } public function companyJoinRequests() { return $this->hasMany(DelegateCompany::class); } }
Back to File Manager