Php 有关Laravel中相关模型的信息

Php 有关Laravel中相关模型的信息,php,laravel-5,model,restful-architecture,Php,Laravel 5,Model,Restful Architecture,您好,我正在编写一个API,我想显示有关相关模型的更多信息 Routes.php Route::resource('makes', 'MakesController'); class MakesController extends Controller { public function index() { $data = Make::all(); return response()->json($data); } } Makes

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

Routes.php

Route::resource('makes', 'MakesController');
class MakesController extends Controller
{
    public function index()
    {
        $data = Make::all();
        return response()->json($data);
    }
}
MakesController.php

Route::resource('makes', 'MakesController');
class MakesController extends Controller
{
    public function index()
    {
        $data = Make::all();
        return response()->json($data);
    }
}
这仅返回有关品牌的信息(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
模型的类中定义
$visible
字段,如下所示:

protected $visible = ['models'];
这将自动将相关模型的数组追加到
array
/
json

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

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

我试过了,但是我得到了对undefined方法illumb\Database\Query\Builder::getModelsAttribute()的调用,也许可以尝试使用
$visible
字段安装
$appends
。很好!有没有办法让它成为可选的?例如,在url中发送一个额外的参数以附加它或不附加它?确定。您可以使用
makeVisible
方法。我将重新编辑我的条目