/app/Http/Controllers/QueryController.php

https://gitlab.com/php2laravel/php-project-boost · PHP · 175 lines · 99 code · 28 blank · 48 comment · 0 complexity · 5e3e81e204a6dbca0dde8669f71d0171 MD5 · raw file

  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Project;
  4. use App\User;
  5. use DB;
  6. use Request;
  7. use App\Http\Requests;
  8. use Flash;
  9. use App\Http\Controllers\Controller;
  10. class QueryController extends Controller
  11. {
  12. /**
  13. * Display a listing of the resource.
  14. *
  15. * @return \Illuminate\Http\Response
  16. */
  17. public function search(Request $request)
  18. {
  19. $query = Request::input('search');
  20. $projects = DB::table('projects')
  21. ->where('title', 'LIKE', '%' . $query . '%')
  22. ->paginate(10);
  23. $desc = DB::table('projects')
  24. ->where('desc', 'LIKE', '%' . $query . '%')
  25. ->where('title', 'NOT LIKE', '%' . $query . '%')
  26. ->paginate(10);
  27. $designers = DB::table('users')
  28. ->where('name', 'LIKE', '%' . $query . '%')
  29. ->paginate(10);
  30. $tag = DB::table('tags')
  31. ->where('name', 'LIKE', '%' . $query . '%')
  32. ->paginate(10);
  33. $palette = DB::table('projects')
  34. ->where('colors', 'LIKE' , '%' . $query . '%')
  35. ->value('colors');
  36. $palette = explode(", ", $palette);
  37. $colors = DB::table('projects')
  38. ->where('colors', 'LIKE' , '%' . $query . '%')
  39. ->paginate(10);
  40. $tags = Project::whereHas('tags', function ($q) {
  41. $q->where('name', 'like', '%' .Request::input('search'). '%');
  42. })->get();
  43. $options = true;
  44. return view('pages.search', compact('desc', 'tags', 'tag', 'projects', 'query', 'colors', 'palette', 'designers', 'options'));
  45. }
  46. public function searchtitle(Request $request)
  47. {
  48. $query = Request::input('search');
  49. $projects = DB::table('projects')->where('title', 'LIKE', '%' . $query . '%')->paginate(10);
  50. return view('pages.search', compact('projects', 'query'));
  51. }
  52. public function searchdescription(Request $request)
  53. {
  54. $query = Request::input('search');
  55. $desc = DB::table('projects')->where('desc', 'LIKE', '%' . $query . '%')->where('title', 'NOT LIKE', '%' . $query . '%')->paginate(10);
  56. return compact('desc', 'query');
  57. }
  58. public function colour(Request $request)
  59. {
  60. $query = Request::input('search');
  61. $colors = DB::table('projects')
  62. ->where('colors', 'LIKE', '%' . $query . '%')
  63. ->paginate(10);
  64. //$colors = unserialize($colors);
  65. $palette = DB::table('projects')
  66. ->where('colors', 'LIKE' , '%' . $query . '%')
  67. ->value('colors');
  68. $palette = explode(", ", $palette);
  69. $query = "#".Request::input('search');
  70. return view('pages.search', compact('colors', 'query', 'palette'));
  71. }
  72. public function tag(Request $request)
  73. {
  74. $query = Request::input('search');
  75. $tag = DB::table('tags')->where('name', 'LIKE', '%' . $query . '%')->paginate(10);
  76. $tags = Project::whereHas('tags', function ($q) {
  77. $q->where('name', 'like', '%' .Request::input('search'). '%');
  78. })->get();
  79. return view('pages.search', compact('tags', 'tag', 'query'));
  80. }
  81. public function searchdesigners(Request $request)
  82. {
  83. $query = Request::input('search');
  84. $designers = DB::table('users')->where('name', 'LIKE', '%' . $query . '%')->paginate(10);
  85. return compact('query', 'designers');
  86. }
  87. /**
  88. * Show the form for creating a new resource.
  89. *
  90. * @return \Illuminate\Http\Response
  91. */
  92. public function create()
  93. {
  94. //
  95. }
  96. /**
  97. * Store a newly created resource in storage.
  98. *
  99. * @param \Illuminate\Http\Request $request
  100. * @return \Illuminate\Http\Response
  101. */
  102. public function store(Request $request)
  103. {
  104. //
  105. }
  106. /**
  107. * Display the specified resource.
  108. *
  109. * @param int $id
  110. * @return \Illuminate\Http\Response
  111. */
  112. public function show($id)
  113. {
  114. //
  115. }
  116. /**
  117. * Show the form for editing the specified resource.
  118. *
  119. * @param int $id
  120. * @return \Illuminate\Http\Response
  121. */
  122. public function edit($id)
  123. {
  124. //
  125. }
  126. /**
  127. * Update the specified resource in storage.
  128. *
  129. * @param \Illuminate\Http\Request $request
  130. * @param int $id
  131. * @return \Illuminate\Http\Response
  132. */
  133. public function update(Request $request, $id)
  134. {
  135. //
  136. }
  137. /**
  138. * Remove the specified resource from storage.
  139. *
  140. * @param int $id
  141. * @return \Illuminate\Http\Response
  142. */
  143. public function destroy($id)
  144. {
  145. //
  146. }
  147. }