Почему findmany () здесь не работает - Lumen / Laravel? - PullRequest
1 голос
/ 04 февраля 2020

Я пытаюсь использовать findmany () для коллекции, я проверил, является ли она коллекцией, с этим:

if ($join instanceof Collection) {
  log::info("deemed collection");
}else{
  log::info("not deemed collection");
}

Хотя это, кажется, коллекция, я все еще получаю ошибку :

BadMethodCallException

Method Illuminate\Database\Eloquent\Collection::findmany does not exist.

Когда я пытаюсь использовать findmany () для него, вот так:

$join = $join->findmany(1);

$ join был создан следующим образом:

$join = coretable::with($permittedTables)->get();

Где $permittedTables - это массив имен таблиц, поэтому коллекция может состоять из любого числа и комбинации таблиц.

Почему я не могу использовать метод findmany () из этой коллекции? Это должно быть доступно из коллекций, не так ли?

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

В коллекции нет метода findMany, только find .

Вы можете вызвать findMany в построителе запросов перед извлечением записей из базы данных, что-то вроде:

$join = coretable::with($permittedTables)->findMany([1]);
0 голосов
/ 04 февраля 2020

$ join = $ join-> findMany ([1,2,3]);

findMany работает с массивом Id.

, а findMany должна быть в случае верблюда.

...