SearchController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Models\BlogArticle;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\DB;
  6. class SearchController extends Controller
  7. {
  8. public function index(Request $request)
  9. {
  10. $rtn = [];
  11. // 搜索数组
  12. $search = [
  13. 'is_all'=> $request->is_all, // 全局搜索
  14. 'is_blog' => $request->is_blog, // 是否是博客
  15. // 'is_docs' => $request->is_docs, // 是否是文档
  16. // 'is_book' => $request->is_book, // 是否是书籍
  17. // 'book_id' => $request->book_id, // 书籍 id
  18. 'q' => $request->q, // 搜索关键字
  19. ];
  20. // 搜索字段
  21. $search_link = '%' . $search['q'] . '%';
  22. // 博客数据
  23. $rtn['blog'] = DB::select(DB::raw(
  24. "select id,title,category_id,excerpt from blog_articles where title like :title limit 5"
  25. ), [
  26. 'title'=> $search_link,
  27. ]);
  28. foreach ($rtn['blog'] as $item) {
  29. $item->href = route('blog.articles.show', $item->id);
  30. }
  31. // 文档数据
  32. return $this->json($rtn);
  33. }
  34. }