首页 > 解决方案 > 调用数组 Laravel 上的成员函数 paginate()

问题描述

我在 BookController 中使用如下所示的原始查询并制作 paginate(5) 如下所示。但它会抛出这个错误 "Call to a member function paginate() on array"。任何解决方案,请。

 public function index()
        {
            try {
                $Book = DB::select('select b.id as id ,b.name as bk,c.name as Catagory,(select name from author_translators WHERE id = b.author_id) as Author,(select name from author_translators WHERE id = b.translate_id)as Translator,l.name as Language,pb.name as Publisher,b.publishing_date,b.edition,b.valume_number,b.ISBN from books b join categories c on b.category_id = c.id join publishers pb on b.publisher_id = pb.id join languages l on b.language_id = l.id')
               ->paginate(5);             
                return response()->json($Book);
            } catch (Exception $e) {
                return response()->json($e->getMessage(), 500);
            }
        }

标签: laravel

解决方案


你不见了DB::table('books')

DB::table('books')->select('select b.id as id ,b.name as bk,c.name as Catagory,(select name from author_translators WHERE id = b.author_id) as Author,(select name from author_translators WHERE id = b.translate_id)as Translator,l.name as Language,pb.name as Publisher,b.publishing_date,b.edition,b.valume_number,b.ISBN from books b join categories c on b.category_id = c.id join publishers pb on b.publisher_id = pb.id join languages l on b.language_id = l.id')
                   ->paginate(5);     

参考: https ://laravel.com/docs/5.8/queries#selects


推荐阅读