1
私は、それらの間に多くの関係があるコースとカテゴリモデルを持っています。そこで私はCategoryCourse Modelを作成して関係を分解しました。次のように私はメソッドを持って私のコントローラでLaravel多対多関係は部分的な結果を得ます
class CategoryCourse extends Model
{
private $foreignkeys = [
'$category_id','$course_id'
];
public function categories()
{
return $this->belongsToMany('App\Category');
}
public function courses()
{
return $this->belongsToMany('App\Course');
}
}
class Category extends Model
{
protected $title = ['title'];
public function categorycourse()
{
return $this->hasMany('App\CategoryCourse');
}
}
class Course extends Model
{
protected $fillable = [
'title', 'desc'
];
public function categorycourse()
{
return $this->hasMany('App\CategoryCourse');
}
}
:ここに私の3つのモデルです
public function getCoursesByCategory(Request $request, $id)
{
$id = Hashids::decode($id);
$categories = Category::findOrFail($id[0]);
$courses = $categories->categorycourse()->get();
return view('courses',compact('courses'));
}
私は、データベース内の3つのテーブルを持って、彼らは、カテゴリ、コースやcategory_coursesです。私の見解では、category_coursesの結果は表示されていますが、コースの結果は表示されません。私はララベルを学んでいます。誰でも助けてくれますか?私は、カテゴリに属するすべてのコースを私の見解で表示したいと思います。関係は唯一のカテゴリにする必要があります
class Category extends Model
{
protected $title = ['title'];
public function courses()
{
return $this->belongsToMany('App\Course', 'category_course', 'category_id', 'course_id');
}
}
:
@foreach($courses as $course)
{{$course->title}}
@endforeach