如何在Laravel中将采集结果作为一个集合

时间:2017-09-17 13:34:26

标签: php laravel eager-loading

所以我正在与Laravel合作开发RESTApi。

我正在尝试购买买家购买的所有产品。问题是买家和他们通过交易表相关的产品。现在下面的代码我得到了所需的结果,因为我使用Laravel eagerloading来获取他们的产品交易,如下所示:

     /**
 * Display a listing of the resource.
 *
 * @return \Illuminate\Http\Response
 */
public function index(Buyer $buyer)
{

    $products = $buyer->transactions()->with('product')->get()->pluck('products');



    return $this->showAll($products);
}

这里的事情是我有一个在我的基础ApiController上调用的特性,特征有一个方法showAll()来返回/显示请求的json响应。 showAll()方法需要返回一个集合。我正在发送集合的属性。

我的问题:
如何在作为集合而不是属性的eagerloading之后取回产品?

1 个答案:

答案 0 :(得分:3)

您可以使用collect()辅助函数将$products数组转换为集合。

详细了解文档https://laravel.com/docs/5.5/collections#introduction