0

感觉我在这里特别愚蠢,但它让我发疯了。

我有一个candidate表,该country_id字段作为国家表的外键。候选人有一个关联国家。

候选模型的关系定义为:

public function country()
{
    return $this->belongsTo('App\Models\Country', 'country_id');
}

Country 模型具有以下特点:

public function candidate()
{
    return $this->hasMany('App\Models\Candidate');
}

在我的列表页面上,我Candidate::with('country')->paginate(5)用来在屏幕上提供候选人列表。当我来显示我使用的国家/地区时:

$candidate->country->country

但这会返回错误:

Trying to get property of non-object

但是,我可以使用

$candidate->country['country']

使用var_dumpon$candidate->country表示返回了一个对象,那么为什么我不能将它作为一个对象访问呢?

编辑:

候选控制器的命名空间为 admin,如下所示:

namespace App\Controllers\Admin;

作为控制器声明的一部分,我有:

use App\Models\Candidate, App\Models\Manufacturer, App\Models\Make, App\Models\Country;

每个模型都有命名空间

namespace App\Models

我是否已经正确建立了关系?

谢谢

4

0 回答 0