Laravel Dingo 从多个表中获取数据
Laravel Dingo get data from multiple tables
我正在尝试从具有一对多关系的两个表中检索数据。我需要它在一次响应中达到 return,因为它将同时显示。但是,我不明白如何 return 扩展对象。现在我在控制器中有这样的东西
public function show(Site $id)
{
foreach ($id->features() as $feature) {
$id->features[] = $feature;
}
return $id;
}
这是我的模型
class Site extends Model
{
protected $fillable = ['path', 'site_link'];
public $timestamps = false;
public function features() {
return $this->hasMany('App\SiteFeature');
}
}
现在 return 是一个空的特征数组 属性。
如果您使用的是隐式模型绑定,那么在控制器操作中使用 Lazy eager Load features
关系,因为模型已经加载
public function show(Site $site)
{
$site->load('features');
return $site;
}
如果没有隐式模型绑定,则在模型加载时使用 with
急切加载 features
public function show($id)
{
$site = Site::with('features')->find($id);
return $site;
}
检查加载关系的详细信息https://laravel.com/docs/5.6/eloquent-relationships#constraining-eager-loads
我正在尝试从具有一对多关系的两个表中检索数据。我需要它在一次响应中达到 return,因为它将同时显示。但是,我不明白如何 return 扩展对象。现在我在控制器中有这样的东西
public function show(Site $id)
{
foreach ($id->features() as $feature) {
$id->features[] = $feature;
}
return $id;
}
这是我的模型
class Site extends Model
{
protected $fillable = ['path', 'site_link'];
public $timestamps = false;
public function features() {
return $this->hasMany('App\SiteFeature');
}
}
现在 return 是一个空的特征数组 属性。
如果您使用的是隐式模型绑定,那么在控制器操作中使用 Lazy eager Load features
关系,因为模型已经加载
public function show(Site $site)
{
$site->load('features');
return $site;
}
如果没有隐式模型绑定,则在模型加载时使用 with
急切加载 features
public function show($id)
{
$site = Site::with('features')->find($id);
return $site;
}
检查加载关系的详细信息https://laravel.com/docs/5.6/eloquent-relationships#constraining-eager-loads