CategoryJobs.php 2.5 KB

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