0

如果这个问题太具体,我提前道歉,但我很难在这两个模型之间选择正确的雄辩关系。我有两个模型,一个名为“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`
4

1 回答 1

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');
    } 
}
于 2019-03-19T07:33:36.133 回答