Laravel中相关模型的信息

information about related models in Laravel

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

Routes.php

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

MakesController.php

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

这returns只有关于品牌(id,名字)的信息 但是我怎样才能显示每个型号有多少型号?

我定义了这两个模型

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


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

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

protected $visible = ['models'];

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

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

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