Стоит задача, вывести результат из 2х таблиц в одну коллекцию.
Как я понял, нужно объединить 2 таблицы, это я сделал вот так:
$travel = Travel::query();
$home = Home::query();
$travel = $travel->get();
$query = $query->get();
$all = $travel->merge($home);
Такой вариант работает без проблем, таблицы объединяются, но вот пагинация теперь не работает, тоесть когда я передаю это в представление:
return view('table')->with('all', $all);
Я не могу в представлении вызвать пагинацию $all->links()
Смотрел различные решения с помощью класса Paginator
, но так и не получилось вызвать пагинацию в представлении.
Используй метод union Laravel union
$travel = DB::table('travel');
$home = DB::table('home')
->union($travel )
->get();
Но union из коробки не правильно работает с пагинацией, поэтому для пагинации используй следующий трюк (пример замени своим):
namespace App\Http\Controllers;
use Input;
use Request;
use View;
class AdminController extends Controller
{
public function index()
{
$page = Input::get('page', 1);
$paginate = 10;
$travel = DB::table("travel");
$data = DB::table("home")
->union($travel)
->get();
$offSet = ($page * $paginate) - $paginate;
$itemsForCurrentPage = array_slice($data, $offSet, $paginate, true);
$data = new \Illuminate\Pagination\LengthAwarePaginator($itemsForCurrentPage, count($data), $paginate, $page);
return View::make('index',compact('data'));
}
}
Использовал класс отсюда https://gist.github.com/simonhamp/549e8821946e2c40a617c85d2cf5af5e
но проблема была в том, что пагинация обнулала query string в запросе, поэтому поменял строчку в классе, чтобы параметры запроса тоже учитывались
LengthAwarePaginator::resolveCurrentPath()
поменял на
LengthAwarePaginator::resolveCurrentPath() . "?" . \Request::getQueryString();
Виртуальный выделенный сервер (VDS) становится отличным выбором
Всем привет, пишу сейчас чат-бота для ВКВозникла проблема с пересылкой фотографий
Всем привет, пишу сайт и в нём написал раздел Личные сообщенияПосещаешь страницу человека, и кнопка отправить сообщения
Есть условное приложение, которое позволяет записывать в БД сообщения с секретными кодами внутриСекретный код записывается внутри фигурных...
Не работает отправка в Jabber, как решить ошибку? Доброго времени суток, друзья!