【问题标题】:Call to undefined relationship in Eloquent, Laravel 5.7在 Eloquent,Laravel 5.7 中调用未定义的关系
【发布时间】:2019-05-23 20:07:01
【问题描述】:

我有四个小时。我只是看不到问题所在。我使用的是 Postgres 而不是 Mysql。

class ValorVariacao

   public $table = 'valores_variacoes';  

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

关系的另一类。

 class TipoVariacao

  public $table = 'tipos_variacoes';  

 public function valorVariacao() {


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


 }

表的相关结构

   valores_variacoes               tipos_variacoes
     id                                 id
   tipo_atributo_id

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

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

错误:

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

【问题讨论】:

  • 也许问题是你的名字间距?您是否将模型ValorVariacao 导入到您的控制器中?又名use App\ValorVariacao;
  • 不,如果我称它为关系的倒数,它会起作用。 TipoVariacao::with('valorVariacao')->get();
  • tipoVariacao() 方法必须是公开的。
  • @JonasStaudenmeir,就是这样!你能发布答案吗?

标签: postgresql eloquent laravel-5.7


【解决方案1】:

关系方法必须是公开的:

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

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 2017-10-30
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2018-01-21
    • 2017-01-19
    相关资源
    最近更新 更多