3 таблицы на одной странице и нумерация страниц - PullRequest
0 голосов
/ 11 мая 2018

В файле маршрута Ive это 2:

Route::get('/ddts', 'DdtsController@index');
Route::post('/ddts', 'DdtsController@indexByCompany');

В обоих контроллерах я решил мульти-нумерацию страниц на одной странице следующим образом:

 public function index()
    {
        //
        $ddtsValidati= Ddt::where('validato',1)->paginate(5,['*'], 'valids');
        $ddtsSospesi= Ddt::where('validato',0)->paginate(5,['*'], 'holds');
        $ddtsRifiutati= Ddt::where('validato',2)->paginate(5,['*'], 'rejects');
        $companies= \App\Models\User::where('co2','!=' , 0)->get();
        $ddt_urls= Ddt_file_url::all();

        return view('administration.ddt-management')->with('ddtsV', $ddtsValidati)->with('ddtsS',$ddtsSospesi)
            ->with('ddtsR',$ddtsRifiutati)->with('companies',$companies)->with('ddt_urls',$ddt_urls);
    }

и

 public function indexByCompany(Request $request){

        if($request->get('company_id')=='*'){
            return $this->index();
        }

        $ddtsValidati= Ddt::where([['validato',1],['company_id',$request->get('company_id')]])->paginate(5,['*'], 'valids');
        $ddtsSospesi= Ddt::where([['validato',0],['company_id',$request->get('company_id')]])->paginate(5,['*'], 'holds');
        $ddtsRifiutati= Ddt::where([['validato',2],['company_id',$request->get('company_id')]])->paginate(5,['*'], 'rejects');


        $companies= \App\Models\User::where('co2','!=' , 0)->get();
        $ddt_urls= Ddt_file_url::all();

        //$companies = Company::pluck('name', 'id')->all();->with('companies', $companies);
        return view('administration.ddt-management')->with('ddtsV', $ddtsValidati)->with('ddtsS',$ddtsSospesi)
            ->with('ddtsR',$ddtsRifiutati)->with('companies',$companies)
            ->with('ddt_urls',$ddt_urls);
    }

Когда я нахожусь в GET-маршруте (поэтому отображаются все документы всех компаний), это работает, но если я просматриваю одну таблицу, а затем пытаюсь просмотреть другую, первая пагинация пропускается и сбрасывается.Это со мной произошло, потому что название страницы навязано мной!Есть ли какой-нибудь простой способ решить эту проблему?

В части POST (поэтому, когда я выбираю документы только из одной компании), нумерация страниц не работает, результат корректно обслуживается до первого, но если я пытаюсь ориентироватьсяпо любой таблице пропущен контекст, и результаты снова со всеми документами всех компаний.

1 Ответ

0 голосов
/ 11 мая 2018

Привет, если ваши данные невелики, например, 5000 или более, вы можете использовать загрузчик данных https://datatables.net/examples/styling/bootstrap

и сделать пагинацию на стороне клиента

ИЛИ

laravel создать значение по умолчанию с параметром get "page", но вы можете изменить этот параметр get и установить разные значения для каждой таблицы нумерации страниц

Route::get('users', function () {
    $users = App\User::paginate(15);
    $users->withPath('custom/url');
});

см. здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...