FunMenu.php 1.3KB

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