Php 有关Laravel中相关模型的信息
您好,我正在编写一个API,我想显示有关相关模型的更多信息 Routes.phpPhp 有关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
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
方法。我将重新编辑我的条目