Я пытаюсь получить данные о поиске книг, используя запросы и используя фильтр. Ниже приведен мой метод фильтрации.
$books = Book::join('authors', 'authors.id', '=', 'books.author_id')
->join('categories', 'categories.id', '=', 'books.category_id')
->join('publishers', 'publishers.id', '=', 'books.publisher_id');
if (isset($book_name) && !empty($book_name)) {
$books->where('books.name', 'like', '%' . $book_name . '%');
}
if (isset($author_id) && !empty($author_id)) {
$books->where('authors.id', '=', $author_id);
}
if (isset($category_id) && !empty($category_id)) {
$books->where('categories.id', '=', $category_id);
}
if (isset($publisher_id) && !empty($publisher_id)) {
$books->where('publishers.id', '=', $publisher_id);
}
$books->get();
Когда я пытаюсь получить объект $ books, он возвращает мне объект Builder.
Builder {#229 ▼
#query: Builder {#240 ▶}
#model: Book {#234 ▼
+fillable: array:6 [▶]
#connection: null
#table: null
#primaryKey: "id"
#keyType: "int"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: []
#original: []
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#dates: []
#dateFormat: null
#casts: []
#touches: []
#observables: []
#with: []
+exists: false
+wasRecentlyCreated: false
#reflection: null
}
#eagerLoad: []
#macros: []
#onDelete: null
#passthru: array:11 [▶]
#scopes: []
#removedScopes: []
}
Когда я ищу книги по имени Книга, которая присутствует в базе данных и применяется foreach l oop, то не возвращает мне необходимые данные. Итак, что я делаю, чтобы получить объект $ books, чтобы я мог получить идеальные данные?