我有一本包含许多科目表(一对多关系)主题的书籍表。来自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