SiteAlbumFolder.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Models;
  3. use Dcat\Admin\Traits\HasDateTimeFormatter;
  4. use Dcat\Admin\Traits\ModelTree;
  5. use Illuminate\Database\Eloquent\Model;
  6. class SiteAlbumFolder extends Model
  7. {
  8. use HasDateTimeFormatter;
  9. protected $table = 'site_album_folder';
  10. public $titleColumn = 'title';
  11. public static function selectOptionsEn(\Closure $closure = null, $rootText = null)
  12. {
  13. $obj = new static();
  14. $obj->titleColumn = 'title_en';
  15. $rootText = $rootText ?: admin_trans_label('root');
  16. $options = ($obj)->withQuery($closure)->buildSelectOptions();
  17. return collect($options)->prepend($rootText, 0)->all();
  18. }
  19. use HasDateTimeFormatter,
  20. ModelTree {
  21. ModelTree::boot as treeBoot;
  22. }
  23. public function setTitleColumn($column)
  24. {
  25. $this->titleColumn = $column;
  26. }
  27. public function allNodes()
  28. {
  29. $result = $this->callQueryCallbacks(new static())
  30. ->where('enabled',1)
  31. ->orderBy($this->getOrderColumn(), 'desc')
  32. ->get();
  33. return $result;
  34. }
  35. }