0
インデックスコントローラでは、すべてのリレーショナルモデルでデータが非常にはっきりと取得されるため、条件は必要ありません。laravel belongsToManyの条件を追加relationhaip
$questions = Question::with('user','courses','subjects')->take(10)->orderBy("id","DESC")->get();
そのリターンエラー同じでデータを取得しようとコースのスラグのための条件を追加するとき、これはuser
courses
とsubject
のようなしかし、コースのコントローラ内のすべての関連データとの質問リストを返します。
$questions = Question::with('user','courses','subjects')->where("slug",$course)->take(10)->orderBy("id","DESC")->get();
何slug
coloumnがないので、その質問はテーブルクエリでこの条件を追加しますので。私は、すべての関連データを取得する方法 と私はcourse
クラスを使用して取得する場合、それは正しい結果を返しますが、subjects
とusers
はその後
$questions = Course::with("question")->where("nick_name",$course)->orWhere("slug",$course)->orderBy("id","DESC")->take(10)->get();
が欠落しています。 そしてもちろん、モデルは
public function question(){
return $this->belongsToMany('App\Models\Question','university_questions')->take(10);
}
と質問モデルが助けてください、ここで欠けている何
public function courses(){
return $this->belongsToMany('App\Models\Course','course_questions');
}
public function subjects(){
return $this->belongsToMany('App\Models\Subject','subject_questions');
}
public function years(){
return $this->hasMany('App\Models\QuestionYear');
}
を持っていました。あなたが複数の関係を取得したい場合
のように、配列を渡す必要があるしかし、スラグは、それはもちろんテーブルでの質問表ではありません。 – Jitendra
ああ、申し訳ありませんが、あなたがコールバック関数を使用する必要がある関連モデルに条件を追加する場合は、私は今答えを編集します – Hrach
ありがとう、しかし、私もこれを試して、それはすべての質問を返し、どこに条件が追加されますか?私はすべての質問を受け取り、この条件はコースでのみ適用されることを意味します。 – Jitendra