簡體   English   中英

laravel一對多關系列未找到

[英]laravel one to many relationship column not found

我有以下型號:

class Question extends Eloquent 
{
   public  function quiz()
   {
      return $this->belongsTo('Quiz','id_quiz','id');
   }
   public  function answer()
   {
      return $this->hasMany('Answer');
   }
}

class Answer extends Eloquent
{
   public function question()
   {
      return $this->belongsTo('Question','id_question','id');
   }
}

在控制器中,我使用:

$questions =  Question::with('answer')->whereHas(
     'quiz',  function($q) use($id) {$q->where('id', $id);
})->get();

我收到以下錯誤:

列未找到:1054未知列在'where子句' 'answers.question_id'(SQL:選擇從* answers其中answersquestion_id在(10,11,12,13)))

您應該通過以下方式在“ Question模型中定義answer關系:

public  function answer(){
    return $this->hasMany('Answer','id_question','id');
}

因為如您所說,您有id_question列而不是question_id ,在這種情況下,默認值為什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM