在CI4中苦苦挣扎着paginate
。用户指南中的所有示例都显示了->paginate()
方法,该方法直接链接到Controller中的$model
变量(不带参数)。
我在模型中拥有所有查询,因此如果paginate
方法进入查询的末尾或在Controller中调用的位置,我会感到有些困惑。我都尝试过-都行不通。
型号:
public function brand_name($brand_name_slug)
{
return $this
->db
->table('shop a')
->select()
->join('(SELECT sku,MIN(sale_price) AS sale_price FROM shop GROUP BY sku) AS b','a.sku = b.sku AND a.sale_price = b.sale_price')
->where('availability','in stock')
->where('a.sku !=','')
->where('brand_name_slug',$brand_name_slug)
->groupBy('a.sku')
->orderBy('brand_name,subbrand_name,product,size,unit')
->get()
->paginate(10) // not working
->getResult();
}
它返回错误:Call to undefined method CodeIgniter\Database\MySQLi\Result::paginate()
我的控制器:
class Shop extends Controller
{
public function brand_name($brand_name_slug)
{
$model = new ShopModel();
$data = [
'category_menu' => $model->category_menu(),'brand_menu' => $model->brand_menu(),'nav' => $model->nav(),'subnav' => $model->subnav(),'shop' => $model->brand_name($brand_name_slug)->paginate(10),// also doesn't work
'pager' => $model->pager
];
if (empty($data['shop']))
{
throw new \CodeIgniter\Exceptions\PageNotFoundException('Cannot find the news item: '. $slug);
}
echo view('templates/header',$data);
echo view('shop/view',$data);
echo view('templates/footer',$data);
}
返回错误:Call to a member function paginate() on array
任何人都可以给我一些导航的指示吗?