у меня 3 модели
Language: id,name. Table: languages.|
Variant:id,name, language_id. Table:variants.|
Symbol: id, name, variant_id. Table :symbols.
Relations:
Language->hasMany->Variant.|
Variant->hasMany->Symbol.|
Language->hasManyThrough->(Symbol,Variant)
Я хотел найти все символы, принадлежащие языку, по language_id и передать объект $symbols Query Builder, разбитый на страницы, в мое представление из контроллера.
Я пробовал что-то вроде
$variants=Variant::with('symbol')->where('language_id',"=",$language_id)->get();
$symbols= collect(new Symbol);
foreach($variants as $variant){
$symbols->push($variant->symbol()->paginate(10));
}
return view(symbols.index,compact($symbols))
в представлении я просто повторяю запрошенные элементы в foreach @foreach($symbols as $item) {{ $item->name; }}
Это выдает ошибку, поскольку переданный объект является коллекцией, а не результатом, возвращаемым запросом.
Как преобразовать эту коллекцию в результат построителя запросов?
->get()
, это даст вам экземпляр билдера. - person   schedule 08.02.2018Method appends does not exist.
Я просто повторяю там переменную. Есть ли другой способ добиться этого? Новая коллекция и foreach создают объект коллекции, который также не может быть разбит на страницы. - person kishoreinme   schedule 08.02.2018