CategoryDistrict.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Encore\Admin\Traits\AdminBuilder;
  5. use Encore\Admin\Traits\ModelTree;
  6. /**
  7. * App\Models\CategoryDistrict
  8. *
  9. * @property int $id
  10. * @property int $parent_id 地区父类ID
  11. * @property string $name 地区分类名称
  12. * @property int $order 排序
  13. * @property string $spell 拼音
  14. * @property \Illuminate\Support\Carbon|null $created_at
  15. * @property \Illuminate\Support\Carbon|null $updated_at
  16. * @property string|null $deleted_at
  17. * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\CategoryDistrict[] $children
  18. * @property-read \App\Models\CategoryDistrict $parent
  19. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict list()
  20. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict newModelQuery()
  21. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict newQuery()
  22. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict query()
  23. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereCreatedAt($value)
  24. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereDeletedAt($value)
  25. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereId($value)
  26. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereName($value)
  27. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereOrder($value)
  28. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereParentId($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereSpell($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CategoryDistrict whereUpdatedAt($value)
  31. * @mixin \Eloquent
  32. */
  33. class CategoryDistrict extends Model
  34. {
  35. use ModelTree, AdminBuilder;
  36. protected $table = 'category_districts';
  37. protected $guarded = [];
  38. public function scopeList()
  39. {
  40. return $this->where(['parent_id'=>0])->select(['id','name']);
  41. }
  42. public static function categoryDis($id)
  43. {
  44. return array_column(CategoryDistrict::where('parent_id', $id)->get(['id', 'name'])->toArray(), 'name', 'id');
  45. }
  46. public function children()
  47. {
  48. return $this->hasMany(CategoryDistrict::class, 'parent_id')->orderBy('order','desc');
  49. }
  50. }