0

问题.php

public function votes()
{
    return $this->morphToMany('App\User' , 'votable');
}

用户.php

public function voteQuestions()
{
    return $this->morphedByMany('App\Answer', 'votable');
}

这显示:

调用未定义的方法 Illuminate\Database\Eloquent\Relations\MorphToMany::exits()

Laravel 会告诉你:

您的意思是 Illuminate\Database\Eloquent\Relations\MorphToMany::get() 吗?

4

1 回答 1

0

我认为你的 MorphToMany 关系有问题。你需要这样的东西:

问题模型:

public function votes()
{
    return $this->morphToMany('App\Vote' , 'votable');
}

答案型号:

public function votes()
{
    return $this->morphToMany('App\Vote' , 'votable');
}

投票模型:

public function questions()
{
    return $this->morphedByMany('App\Question' , 'votable');
}

public function asnwers()
{
    return $this->morphedByMany('App\Answer' , 'votable');
}

但是如果你想检查存在的关系,有has('relationName')方法。

exists()方法仅适用于 Eloquent Model 实例。

于 2020-04-29T18:26:40.903 回答