调用 Eloquent、Laravel 5.7 中的未定义关系

Call to undefined relationship in Eloquent, Laravel 5.7

我花了四个小时。我只是看不出问题所在。我使用的不是 Mysql.

的 Postgres
class ValorVariacao

   public $table = 'valores_variacoes';  

   protected function tipoVariacao()
  {
      return $this->belongsTo('App\TipoVariacao', 'tipo_atributo_id', 'id');
   }

关系的另一个class。

 class TipoVariacao

  public $table = 'tipos_variacoes';  

 public function valorVariacao() {


    return $this->hasMany('App\ValorVariacao', 'id', 'tipo_atributo_id');


 }

相关结构table

   valores_variacoes               tipos_variacoes
     id                                 id
   tipo_atributo_id

调用这个我得到未定义的关系:

   return ValorVariacao::with('tipoVariacao')->get();

错误:

  Call to undefined relationship [tipoVariacao] on model [App\ValorVariacao].

关系方法必须是public:

public function tipoVariacao()
{
   return $this->belongsTo('App\TipoVariacao', 'tipo_atributo_id', 'id');
}