有关Laravel相关模型的信息

时间:2016-09-05 06:12:36

标签: php laravel-5 model restful-architecture

您好我正在编写API,我想显示有关相关模型的更多信息。

routes.php文件

Route::resource('makes', 'MakesController');

MakesController.php

class MakesController extends Controller
{
    public function index()
    {
        $data = Make::all();
        return response()->json($data);
    }
}

这只返回有关品牌的信息(id,name) 但是我怎样才能显示每个模型的数量?

我已经定义了这两个模型

class Make extends Model
{
    public function models()
    {
        return $this->hasMany('App\CarModel');
    }
}


class CarModel extends Model
{
    public function make()
    {
        return $this->belongsTo('App\Make');
    }
}

1 个答案:

答案 0 :(得分:1)

您可以在$visible模型的类中定义Make字段,如下所示:

protected $visible = ['models'];

这会自动将相关模型的数组附加到array / json

您还可以使用makeVisible方法的可选方式:

class MakesController extends Controller
{
    public function index()
    {
        $data = Make::all();
        return response()->makeVisible('models')->json($data);
    }
}