Контроллер
public function getSearch(Request $request)
{
$search = $request->input('search');
$clients = Client::search($search)
->paginate(5);
$bankings = Banking::search($search)
->paginate(5);
return view('search/search',compact(['clients','bankings']));
}
Вид
@extends('layouts.master')
@section('content')
<div class = "content">
<div class = "row search">
<div class = "col-xs-12">
<div class = "box" >
<div class = "box-body" >
<table class = "table table-bordered table-hover" id = "clients">
<thead>
<th>Customer Code</th>
<th>Surname</th>
<th>Name</th>
<th>Company Name</th>
<th>ID Number</th>
<th>Email</th>
<th>Client Type</th>
<th>Created </th>
</thead>
@foreach($clients as $client)
<tr>
<td>{{$client->customercode}}</td>
<td>{{$client->name}}</td>
<td>{{$client->surname}}</td>
<td>{{$client->companyname}}</td>
<td>{{$client->idnumber}}</td>
<td>{{$client->email}}</td>
<td>{{$client->clienttype}}</td>
<td>{{$client->created_at}}</td>
</tr>
@endforeach
</table>
{{$clients->appends(Request::except('page'))->links()}}
</div>
</div>
</div>
</div>
</div>
<div class = "content">
<div class = "row search">
<div class = "col-xs-12">
<div class = "box" >
<div class = "box-body" >
<table class = "table table-bordered table-hover" id = "bankings">
<thead>
<th>Customer Code</th>
<th>Account Holder's Name</th>
<th>Bank</th>
<th>Account Type</th>
<th>Account Number</th>
</thead>
@foreach($bankings as $banking)
<tr>
<td>{{$banking->customercode}}</td>
<td>{{$banking->acc_holders_name}}</td>
<td>{{$banking->bank}}</td>
<td>{{$banking->acc_type}}</td>
<td>{{$banking->acc_no}}</td>
</tr>
@endforeach
</table>
{{$bankings->appends(Request::except('page2'))->links()}}
</div>
</div>
</div>
</div>
</div>
@stop
Итак, у меня есть функция поиска, которая просматривает 2 таблицы, а именно «Клиенты и банки», для поиска на основе пользовательского ввода и возврата результатов, соответствующих введенным. Поэтому я добавил простую разбивку на страницы laravel для обеих таблиц. Моя проблема заключается в том, что когда я нажимаю страницу 2 в результатах таблицы клиентов, она также разбивает результаты таблицы Bankings на страницы. Как я могу сделать так, чтобы за раз разбивалась только одна таблица, а не обе? Пожалуйста помоги






Вы можете добавлять «имена» к тем, что вы разбиваете на страницы:
В URL-адресе теперь будет ?clients=1&bankings=3 и т. д.
public function getSearch(Request $request)
{
$search = $request->input('search');
$clients = Client::search($search)
->paginate(5, ['*'], 'clients');
$bankings = Banking::search($search)
->paginate(5, ['*'], 'bankings');
return view('search/search',compact(['clients','bankings']));
}
https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Builder.html#method_paginate
@Vester, можно мне поставить +1 и проверить правильный ответ :)
Спасибо тебе большое за это. он работает на 100%, и определение логики URL также имеет смысл с точки зрения пользователей. Спасибо.