user2054381
user2054381

Reputation:

In Laravel Framework 5.7.3 error on linksOnEachSide method

I moved my laravel application to 5.7 :

$ php artisan --version
Laravel Framework 5.7.3

but trying to use new pagination method linksOnEachSide what I found in docs:

$homepage_quizzes_per_page= 2;
$activeQuizVotes= Vote::getByStatus('A')->
    getByIsHomepage(true)->
    getByIsQuiz(true)->
    orderBy('ordering','desc')->
    orderBy('created_at','desc')->
    leftJoin(\DB::raw('vote_categories as vc '), \DB::raw('vc.id'), '=', \DB::raw('votes.vote_category_id'))->
    select(\DB::raw(" votes.*, vc.name as vote_category_name, vc.slug as vote_category_slug"))->
    paginate($homepage_quizzes_per_page)->
    linksOnEachSide( (int)($homepage_quizzes_per_page/2) );

I got error :

 Method Illuminate\Database\Eloquent\Collection::linksOnEachSide does not exist.

If in code above to comment last line with linksOnEachSide - it works ok and I have valid pagination.

 My composer.json has :
 {
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.1.3",
        "cviebrock/eloquent-sluggable": "^4.5",
        "davejamesmiller/laravel-breadcrumbs": "5.x",
        "doctrine/dbal": "^2.8",
        "fideloper/proxy": "^4.0",
        "intervention/image": "^2.4",
        "itsgoingd/clockwork": "^3.0",
        "laravel/framework": "5.7.*",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^5.4.0",
        "proengsoft/laravel-jsvalidation": ">2.2.0",
        "rap2hpoutre/laravel-log-viewer": "^0.19.1",
        "snowfire/beautymail": "dev-master",
        "themsaid/laravel-mail-preview": "^2.0",
        "wboyz/laravel-enum": "^0.2.1",
        "yajra/laravel-datatables-oracle": "^8.7"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^3.1",
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^2.0",
        "phpunit/phpunit": "^7.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ],


        "post-update-cmd": [
            "php artisan vendor:publish --provider=\"Proengsoft\\JsValidation\\JsValidationServiceProvider\" --tag=public --force"
        ]

    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

Why error and how to fix it ? Some invalid options ? Or I have to update some more libs apart "laravel/framework": "5.7.*" ?

Thanks!

Upvotes: 1

Views: 1036

Answers (1)

Jonas Staudenmeir
Jonas Staudenmeir

Reputation: 25906

The method has been renamed to onEachSide().

Upvotes: 1

Related Questions