Запрос не возвращает данные - PullRequest
3 голосов
/ 08 апреля 2020

Я пытаюсь получить данные о поиске книг, используя запросы и используя фильтр. Ниже приведен мой метод фильтрации.

$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, чтобы я мог получить идеальные данные?

1 Ответ

2 голосов
/ 08 апреля 2020

Вы должны присвоить результат get() вашей переменной

...
$books = $books->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...