【发布时间】:2019-02-15 10:34:12
【问题描述】:
我有 4 个表:国家、活动、国家活动和包裹。 国家和活动通过数据透视表 country_activity 相关联,包与 country_activity 相关联。 现在,我如何预先加载与一个国家/地区的每个活动相关的所有包?
class Country extends Model
{
public function activities() {
return $this->belongsToMany('App\Models\Activity','country_activities')->using('App\Models\CountryActivity')->as('country_activities');
}
}
class Activity extends Model
{
public function countries() {
return $this->belongsToMany('App\Models\Country','country_activities')->using('App\Models\CountryActivity')->as('country_activities');
}
}
class Package extends Model
{
public function country_activities() {
return $this->belongsToMany('App\Models\CountryActivity');
}
}
class CountryActivity extends Pivot
{
protected $table = 'country_activities';
public function packages() {
return $this->hasMany('App\Models\Package');
}
}
【问题讨论】:
标签: laravel eloquent eager-loading eloquent-relationship