首页 > 解决方案 > Laravel 分页 Page2 链接到空白页

问题描述

我正在破解这个 Laravel 查询,它为第 1 页返回了这个分页,但是其余的链接转到空白的过滤搜索页面,这应该是更多或其余的查询结果。

控制器:

    <?php
namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use App\Job;
use Carbon\Carbon;

class FilterJobsController extends Controller
{
    /**
     * Show a list of all of the application's users.
     *
     * @return Response
     */



    public function index()
    {

        $bidded = request('bidded');
        $state = request('state');
        $city = request('city');
        $contractor = request('contractor');
        $job = request('job');
        $subjob = request('subjob');


        $jobs = DB::table('jobs')->where([
            ['bidded', '=', $bidded],
            ['state', '=', $state],
            ['city', '=', $city],
            ['contractor', '=', $contractor],
            ['job', '=', $job],
            ['subjob', '=', $subjob],
            ])->paginate(3);
        //])->get(); <<<former working method

        return view('jobs.index', compact('jobs')->with('links', $links));

    }
}
?>

刀片文件:

@extends ('layouts.master')

@section ('content')

    <div class="jobs">
        @foreach(array_chunk($jobs->getCollection()->all(), 3) as $page)
            <div class="leftarrow">❰&lt;/div> 
                @foreach ($jobs as $job) 
                   @include ('jobs.job')
                @endforeach

            <div class="pagenumbers">
                {{ $jobs->links() }}
            </div>

            <div class="rightarrow">
                <!-- <a href="{{ url('/jobs/') }}"> -->
                    ❱
                <!-- </a> -->
            </div>

            <div class="downarrowrow">
                <div class="downarrow">❱❱</div>
            </div>
        @endforeach
    </div>
@endsection

如前所述,分页页面 1 工作,但分页列表中的链接转到空白页面,只有布局刀片、页眉和页脚信息,没有进一步的搜索返回。

任何关于“链接”为什么没有信息的提示,只是一个有效的链接,将不胜感激。

标签: laraveleloquentpagination

解决方案


是的,正确附加查询是关键,谢谢。

$this->validate(request(), [
            'bidded' => 'required',
            'state' => 'required',
            'city' => 'required',
            'contractor' => 'required',
            'job' => 'required',
            'subjob' => 'required',
        ]);


        return view('jobs.index', [
        'jobs' => Job::where([
            ['bidded', request('bidded')],
            ['state', request('state')],
            ['city', request('city')],
            ['contractor', request('contractor')],
            ['job', request('job')],
            ['subjob', request('subjob')], 
            ])->paginate(3)->appends([
                'bidded' => request('bidded'),
                'state' => request('state'),
                'city' => request('city'),
                'contractor' => request('contractor'),
                'job' => request('job'),
                'subjob' => request('subjob'),
        ])
        ]);

推荐阅读