FunMenu.php 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Models;
  3. use DB;
  4. use Illuminate\Database\Eloquent\Model;
  5. class FunMenu extends Model
  6. {
  7. protected $table = 'funmenu';
  8. public function leftmenu($user_id)
  9. {
  10. $sql = "
  11. SELECT
  12. `icon` as `icon`,
  13. `MenuName` as `menuname`,
  14. GROUP_CONCAT(`FunName` ORDER BY `FunMenuDetailCOrder` SEPARATOR ',') AS `submenuname`,
  15. GROUP_CONCAT(`FunLink` ORDER BY `FunMenuDetailCOrder` SEPARATOR ',') AS `submenulink`
  16. FROM
  17. (
  18. SELECT
  19. *
  20. FROM
  21. `v_leftmenu`
  22. WHERE
  23. `FunId` IN (
  24. SELECT
  25. `Id`
  26. FROM
  27. `functions` AS `Functions_1`
  28. WHERE
  29. INSTR(
  30. CONCAT(
  31. ',',
  32. (
  33. SELECT
  34. GROUP_CONCAT(`FunList` SEPARATOR '') AS `submenuname`
  35. FROM
  36. `funusergroups`
  37. WHERE
  38. CONCAT(',', `UsrList`, ',') LIKE CONCAT('%,', '" . $user_id . "', ',%')
  39. AND `Valid` = 1
  40. GROUP BY
  41. `Valid`
  42. ),
  43. ','
  44. ),
  45. CONCAT(
  46. ',',
  47. `Id`,
  48. ','
  49. )
  50. ) > 0
  51. )
  52. ) A
  53. GROUP BY
  54. `menuname`
  55. ORDER BY
  56. `FunMenuCorder`
  57. LIMIT
  58. 0, 30
  59. ;
  60. ";
  61. $result = DB::select($sql);
  62. return $result;
  63. }
  64. }