雄辩的返回关系结果而不是id

时间:2019-12-03 06:36:19

标签: php laravel eloquent

在我的控制器中,只是返回表中的所有内容

$data = Model::get();

return response()->json(['data' => $data], 200);

我在模型中定义了多个关系

关系1

public function relationship1()
{
    return $this->belongsTo(RelatedModel2::class);
}

关系2

public function relationship2()
{
    return $this->belongsTo(RelatedModel1::class);
}

    ...

是否有一种简单的方法来检索实际模型关系,而不是相关条目的id字段?这不是迭代并手动添加每个想要的字段:

$data = Model::get();
foreach ($data as $datum) {
    $data->field1 = $datum->relationship1;
    $data->field2 = $datum->relationship2;
    $data->field3 = $datum->relationship3;
}

return response()->json(['data' => $data], 200);

1 个答案:

答案 0 :(得分:1)

您需要在()中使用函数

return response()->json([
            'data' => Model::with('relation1', 'relation2')->get()
        ]);