亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 7 中的 AJAX 分頁(內部服務器錯誤)

Laravel 7 中的 AJAX 分頁(內部服務器錯誤)

PHP
ITMISS 2023-04-28 17:08:27
我正在使用 Laravel 7,我想使用 ajax 進行分頁,這樣當我單擊下一頁時它不會刷新整個頁面。我搜索以解決我的問題,但它不起作用,并且每當我在控制器中使用 error_log() 時它都不會轉到 fetch()。每當我點擊第 2 頁時,它就會出錯。在控制臺中顯示的錯誤是:app.js:16437 GET http://127.0.0.1:8000/ledger/fetch?page=2 500 (Internal Server Error)在 storage/logs/laravel.log[previous exception] [object] (BadMethodCallException(code: 0): Method Illuminate\\Database\\Eloquent\\Collection::links does not exist. at C:\\xampp\\htdocs\\final_Financial\\fin_book_09\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\Macroable.php:103)賬本控制器.php    public function index(Request $request)    {        $disableLedger = true;        $ledger = Ledger::orderBy('id', 'DESC')            ->where('user_id', auth()->user()->id)            ->paginate(5);        $ledgerCatType = DB::table('ledgers')            ->orderBy('ledgers.id', 'DESC')            ->join('categories', 'ledgers.cat_id', '=', 'categories.id')            ->where('ledgers.user_id', auth()->user()->id)            ->get('categories.type');        $category = Category::where('user_id', auth()->user()->id)->get();        return view('ledgers.index', [            'ledgers' => $ledger,            'categories' => $category,            'disableLedger' => $disableLedger,            'ledgerCatType' => $ledgerCatType        ]);    }    function fetch(Request $request)    {        if ($request->ajax())        {            $ledger = Ledger::orderBy('id', 'DESC')                ->where('user_id', auth()->user()->id)                ->paginate(5);            $ledgerCatType = DB::table('ledgers')                ->orderBy('ledgers.id', 'DESC')                ->join('categories', 'ledgers.cat_id', '=', 'categories.id')                ->where('ledgers.user_id', auth()->user()->id)                ->get('categories.type');            $category = Category::where('user_id', auth()->user()->id)->get();            return view('ledger.entries', compact('ledger', 'categories', 'ledgerCatType'))->render();        }    }
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

好吧沒關系,我修好了。我只是想在這里發布答案,以防有人也被它困住。問題是我的路線,而不是使用resource我手動添加的路線:


Route::get('ledger', 'LedgerController@index')->name('ledger.index')->middleware('auth');

Route::post('/ledger', 'LedgerController@store')->name('ledger.store')->middleware('auth');

Route::delete('/ledger/{id}', 'LedgerController@destroy')->name('ledger.destroy')->middleware('auth');

Route::get('/ledger/fetch', 'LedgerController@index')->name('ledger.fetch')->middleware('auth');

我還編輯了我的代碼index(),因此將它與fetch()方法結合起來,因此它現在看起來像這樣:


    public function index(Request $request)

    {

        $disableLedger = true;

        $ledgers = Ledger::orderBy('id', 'DESC')

            ->where('user_id', auth()->user()->id)

            ->paginate(10);

        $ledgerCatType = DB::table('ledgers')

            ->orderBy('ledgers.id', 'DESC')

            ->join('categories', 'ledgers.cat_id', '=', 'categories.id')

            ->where('ledgers.user_id', auth()->user()->id)

            ->select('categories.type')

            ->paginate(10);

        $categories = Category::where('user_id', auth()->user()->id)->get();

        if ($request->ajax())

        {

            return view('ledgers.entries', compact('ledgers', 'categories', 'ledgerCatType', 'disableLedger'))->render();

        }

        return view('ledgers.index',  compact('ledgers', 'categories', 'ledgerCatType', 'disableLedger'));

    }


查看完整回答
反對 回復 2023-04-28
  • 1 回答
  • 0 關注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號