两个模型的推荐 eloquent 关系
Recommended eloquent relationship for two models
如果这个问题太具体,我提前道歉,但我很难在这两个模型之间选择正确的 eloquent 关系。我有两个模型,一个名为 "Package"(例如旅行包),另一个名为 "Country"。一个包裹只能有一个国家,一个国家可以有多个包裹。这是我的关系:
class Package extends Model
{
public function country()
{
return $this->belongsTo('App\Country');
}
}
// Country
class Country extends Model
{
public function packages()
{
return $this->hasMany('App\Country');
}
}
这是正确的关系吗?当我使用以下关系时,我想使用以下代码获取包含国家信息的包裹集合:
$packages = Package::with('country')->get();
我收到 NULL
国家的回复。我做错了什么吗?感谢您的协助。
PS:这是我的数据库结构:
Country:
`id`
`iso_code`
`name`
`phone_code`
Package:
`id`
`title`
`description`
`date_from`
`date_to`
`price`
`country_id`
试试这个:
// Package
class Package extends Model
{
public function country()
{
return $this->belongsTo('App\Country');
}
}
// Country
class Country extends Model
{
public function packages()
{
return $this->hasMany('App\Package', 'country_id', 'id');
}
}
如果这个问题太具体,我提前道歉,但我很难在这两个模型之间选择正确的 eloquent 关系。我有两个模型,一个名为 "Package"(例如旅行包),另一个名为 "Country"。一个包裹只能有一个国家,一个国家可以有多个包裹。这是我的关系:
class Package extends Model
{
public function country()
{
return $this->belongsTo('App\Country');
}
}
// Country
class Country extends Model
{
public function packages()
{
return $this->hasMany('App\Country');
}
}
这是正确的关系吗?当我使用以下关系时,我想使用以下代码获取包含国家信息的包裹集合:
$packages = Package::with('country')->get();
我收到 NULL
国家的回复。我做错了什么吗?感谢您的协助。
PS:这是我的数据库结构:
Country:
`id`
`iso_code`
`name`
`phone_code`
Package:
`id`
`title`
`description`
`date_from`
`date_to`
`price`
`country_id`
试试这个:
// Package
class Package extends Model
{
public function country()
{
return $this->belongsTo('App\Country');
}
}
// Country
class Country extends Model
{
public function packages()
{
return $this->hasMany('App\Package', 'country_id', 'id');
}
}