クエリに問題があります。 私はコース、メインタスク、タスクという3つのモデルを持っています。 コースには多くのメインタスクがあり、メインタスクには多くのタスクがあります。Laravel 5.3の関係の問題、1より大きい返します
私はデータベースに保存されている現在のメインタスクを持っています。メインタスクと現在のメインタスクとコースがあるタスクを持つコースを選択します。
私の試み:
$tasks=Course::where('id',$current->current_course)->whereHas('mainTask', function ($q) use ($current)
{
$q->where('id',$current->current_main_task_id);
})->with('mainTask.task')->first();
しかし、これだけではなく、すべての主要なタスクを返し1.
class Course extends Model
{
public function mainTask() {
return $this->hasMany('App\MainTask');
}
}
class MainTask extends Model
{
use SoftDeletes;
public function task() {
return $this->hasMany('App\Task');
}
public function course() {
return $this->belongsTo('Courses');
}
}
class Task extends Model
{
use SoftDeletes;
public function mainTask() {
return $this->belongsTo('MainTask');
}
}
任意のヒント?
おかげ
の全てを言及するのを忘れてしまったと
は1つのメインタスクをロードします私は現在のコースを保存していると私もそれをチェックする必要があります – user3844579
あなたはそれを詳述できますか?私は文脈を理解していない。 –