我有一本包含許多科目表(一對多關係)主題的書籍表。來自Laravel 5.3中的連接表的搜索查詢
我想加入我的表是這樣的:
$book = Book::latest()
->leftjoin('subjects', 'books.id', '=', 'subjects.book_id')
->select('books.*', 'subjects.subject')
->where('subject', 'like', '%' .$search. '%')
->paginate(20);
我想要一個搜索查詢,將顯示具有主題匹配形成$search
變量的書籍。但是,由於書中有很多主題,所以它會一直顯示一本書,具體取決於與$ search變量匹配的書的多少個主題。
我只想顯示一本書,無論這本書匹配了多少個主題。
下面這張圖片是搜索查詢我做的輸出的$search= ""
這本題爲「特殊教育評估:發佈影響今日教室的策略」的書(在第一張圖片上看到它;因爲該書的主題是6,它被冗餘6次)
嘗試添加' - > GROUPBY( 'books.id') - > PAGINATE(20);' – Maraboc
它只是給我此錯誤SQLSTATE [42000 ]:語法錯誤或訪問衝突:1055'bisu_ccc_library.books.ISBN'不在GROUP BY中(SQL:從'books'中選擇不同的'books'。*,'subject'.'subject' 'books'.'id' ='subjects'.'book_id' where'subject' like%a%group by'books'.'id' order by'created_at' desc limit 20 offset 0) –
女巫版的拉拉維爾你使用 ? – Maraboc