推荐两种模型雄辩的关系

时间:2019-03-19 07:22:27

标签: laravel eloquent laravel-5.7 eloquent--relationship

如果这个问题太具体了,我事先表示歉意,但是我很难选择这两种模型之间正确的雄辩关系。我有两种模型,一种叫做“包裹”(例如旅行包裹),另一种叫做“国家”。一个包裹只能有一个国家,一个国家可以有多个包裹。这是我的关系:

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`

1 个答案:

答案 0 :(得分:4)

尝试

// 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');
    } 
}
相关问题