【发布时间】:2020-08-10 01:07:43
【问题描述】:
我想对我从我的关系中获得的结果进行分页。我有一个产品表/控制器、一个用户表/控制器和一个标记产品表。但是,我没有markedProducts 表,因为我实际上并不需要它。我使用此解决方案在我的用户模型中获取一个用户的所有标记产品:
public function markedProducts(){
return $this->belongsToMany('App\Product', 'products_marks');
}
我现在的问题是如何对结果进行分页和我的第二个问题是如何获得标记产品表中每一行的 created_at 值?
因为我的解决方案只是退回标记的产品。但是,我想在用户标记产品时向他展示。
到目前为止,我有这个想法:
$markedProducts = DB::table('products_marks')->where('user_id', Auth::id())->orderBy('created_at', 'desc')->paginate(2);
$products = Product::whereIn('id', $markedProducts->lists('product_id'));
但是,->lists() 不再是一种方法,我实际上不想绕过 Laravel 方法,也不想循环通过我的分页来获取包含所有 product_id 的数组。
你们有什么好的和高性能的解决方案吗?
诚挚的问候,谢谢!
【问题讨论】:
标签: php laravel eloquent pagination