我有搜索表单来从名为书籍的表中获取信息。

现在我正在使用这个 Controller

public function search(Request $request)
{
    $keyword = $request->input('keyword');
    $query = Book::where('judul', 'LIKE', '%' . $keyword . '%');

    $book_list = $query->paginate(5);
    $pagination = $book_list->appends($request->except('page'));
    $total_book = $book_list->total();
    return view('dashboards.index', compact('book_list', 'keyword', 'pagination', 'total_book'));
}

问题是我从请求中获得的数据仅适用于 judul 。如果输入关键字搜索针对搜索作者或发布者,它只会显示空结果

我希望搜索表单能够从名为 writters publisher 的其他列中获取数据

有没有办法从多列中获取数据?

最佳答案

您可以使用 orwhere 来实现这一点,就像这样

Book::where(function ($query) use($keyword) {
        $query->where('judul', 'like', '%' . $keyword . '%')
           ->orWhere('writters', 'like', '%' . $keyword . '%');
      })
->get();
我希望它能帮助你。

关于laravel - 如何从数据库中的多个列获取搜索查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48089966/

10-13 02:29