如何在Laravel中返回单个对象而不是集合

时间:2015-03-11 11:29:44

标签: php laravel

我尝试返回单个对象而不是 Laravel 中的集合。实际上这段代码有效:

public function show($id)
{
    $facture = Facture::where('id', '=', $id)->with('items')->with('client')->get();
    return Response::json($facture[0]);
}

但我想知道它是否是正确的做法?

2 个答案:

答案 0 :(得分:8)

虽然first()适用于任何类型的查询,但当您通过标识find()获取模型时,这是首选方法。您还可以合并两个with来电:

$facture = Facture::with('items', 'client')->find($id);

答案 1 :(得分:1)

这是获取单个对象而不是集合的正确代码:

public function show($id)
{
    $facture = Facture::where('id', '=', $id)->with('items')->with('client')->first();
    return Response::json($facture);
}