Controller.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\SiteAlbumFolder;
  4. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  5. use Illuminate\Foundation\Validation\ValidatesRequests;
  6. use Illuminate\Routing\Controller as BaseController;
  7. use Illuminate\Support\Facades\Auth;
  8. class Controller extends BaseController
  9. {
  10. use AuthorizesRequests, ValidatesRequests;
  11. public $foldersTree = [];
  12. public function __construct()
  13. {
  14. // 一次性查询所有文件夹
  15. $folders = SiteAlbumFolder::all();
  16. // 构建父子关系树
  17. $fid = isset($_GET['fid'])? $_GET['fid'] : 0;
  18. $result = SiteAlbumFolder::buildTree($folders);
  19. $result = $result->toArray();
  20. foreach ($result as $key => $item) {
  21. $checked = false;
  22. foreach ($item['children'] as $child) {
  23. if ($fid == $child['id']) {
  24. $checked = true;
  25. }
  26. foreach ($child['children'] as $subChild) {
  27. if ($fid == $subChild['id']) {
  28. $checked = true;
  29. }
  30. }
  31. }
  32. if ($fid == $item['id']) {
  33. $checked = true;
  34. }
  35. $result[$key]['checked'] = $checked;
  36. }
  37. //dd($result);
  38. $this->foldersTree = $result;
  39. }
  40. }