【发布时间】:2018-06-18 09:52:32
【问题描述】:
我有两个版本的应用程序,一个在本地使用 MySQL,另一个是在 Heroku 中使用 PostgreSQL 构建的
计划是让搜索表单能够从不同的表中查找数据
表格是书籍、作家、类别和出版商
这里是控制器
public function search(Request $request)
{
$keyword = $request->input('keyword');
// multiple query from different table
$query = Book::where('judul','like','%'.$keyword.'%')
->orWhere('label','like','%'.$keyword.'%')
->orWhere('isbn','like','%'.$keyword.'%')
->orWhere('status', 'like', '%'.$keyword.'%')
->orWhereHas('writter', function ($query) use ($keyword) {
$query->where('nama_penulis', 'like', '%'.$keyword.'%');
})
->orWhereHas('category', function ($query) use ($keyword) {
$query->where('nama_kategori', 'like', '%'.$keyword.'%');
})
->orWhereHas('publisher', function ($query) use ($keyword) {
$query->where('nama_penerbit', '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', 'nama_penulis'));
}
该表单在本地(使用我的 MySQL)上就像一个魅力,但是当我使用 Postgres 时,搜索表单只能从 books 表中获取。
我想知道是什么让 postgres 忽略了我的代码
【问题讨论】:
-
尝试检查查询的原始 sql。在查询末尾添加 toSql() 并检查您是否可以使用原始 SQL 识别某些内容。
标签: postgresql laravel heroku laravel-5.2