PolicyCategory.php 984 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. use Encore\Admin\Traits\ModelTree;
  6. use Encore\Admin\Traits\AdminBuilder;
  7. class PolicyCategory extends Model
  8. {
  9. use SoftDeletes,AdminBuilder,ModelTree {
  10. ModelTree::boot as treeBoot;
  11. }
  12. protected $table = 'policy_category';
  13. protected $guarded = [];
  14. public function __construct(array $attributes = [])
  15. {
  16. parent::__construct($attributes);
  17. $this->setParentColumn('parent_id');
  18. $this->setOrderColumn('category_order');
  19. $this->setTitleColumn('categoryname');
  20. }
  21. public function children()
  22. {
  23. return $this->hasMany(PolicyCategory::class, 'parent_id')->orderBy('category_order','desc');
  24. }
  25. public static function category($str)
  26. {
  27. return array_column(PolicyCategory::where('parent_id', $str)->get(['id',"categoryname"])->toArray(), 'categoryname', 'id');
  28. }
  29. }