LARAVEL вызов неопределенного метода Illuminate \ Database \ Eloquent \ Builder :: splice () - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь выбрать некоторые атрибуты таблицы Животные и одновременно выбираю их фотографии.

Проблема в том, что в моем случае я хочу выбрать 20 животных в зависимости от страницы (например, если я на странице 2, я хочу взять животных между 20-40

Я делаю сращивание для этого, но я не знаю, как заставить это работать, это выдает мне эту ошибку.

Кто-нибудь знает, почему и как?

Заранее большое спасибо! Code

$ cantidad - это количество животных, которое я хочу взять. страница

1 Ответ

3 голосов
/ 01 апреля 2020

Вам необходимо знать о классе, с которым вы работаете, особенно Builder против Collection

Все запросы в Laravel (Animal::select(...)) являются экземплярами класса Builder пока не будет вызвано закрытие (->get(), ->first(), et c). Поскольку вы не используете одно из этих замыканий перед вызовом ->splice(), вы пытаетесь вызвать этот метод для класса (Builder), у которого его нет. Класс Collection имеет следующий метод:

https://laravel.com/docs/7.x/collections#method -плос

Так что вам нужно использовать ->get() перед ->splice():

return Animal::select(...)
->join(...)
->where(...)
->get()
->splice(...)
->toJson();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...