在laravel中获取类别帖子5.4

问题描述:

我想在他们的类别名下获得帖子。我在网上尝试了很多教程,但它们都不适合我!在laravel中获取类别帖子5.4

这是我的控制器:

public function showcoursecat($slug) { 
    $coursecateories = course::with('coursecateory') 
     ->where('slug', $slug) 
     ->get(); 

    return view ('frontend.coursecats', compact('coursecateories')); 
} 

这是我的路线:

Route::get('/courses/cat/{slug}', '[email protected]') 
    ->name('coursecat') 
    ->where('slug', '[\w\d\-\_]+'); 

我的课程模式:

class Course extends Model 
{ 
    use Notifiable; 

    protected $table = "Courses"; 

    protected $fillable = [ 
     'course_name', 
     'course_description', 
     'course_price', 
     'course_disscount', 
     'slug', 
     'image', 
     'category_id', 
     'user_id', 
     'approve', 
    ]; 

    protected $events = [ 
     'created' => Events\CourseApproved::class, 
    ]; 

    public function user() { 
     return $this->belongsTo(User::class); 
    } 

    public function coursecateories() { 
     return $this->belongsTo(Coursecateory::class, 'category_id'); 
    } 
} 

我Coursecateory型号:

class Coursecateory extends Model 
{ 
    protected $fillable = [ 
     'name', 
     'image', 
     'slug', 
    ]; 

    public function courses() { 
     return $this->hasMany(Course::class, 'category_id'); 
    } 
} 

这里是我的观点:

@foreach($coursecateories as $coursecateory) 

    <h3>{{ $coursecateory->course_name }}</h3> 

    @foreach($coursecateory->courses as $course) 

     <h4><a href="#">{{ $course->course_name }}</a></h4> 

     <p>{{ $course->course_description }}</p> 

    @endforeach 

@endforeach 
+0

是你的问题实际上是,“我想在课程的分类名称”? – haakym

+0

@haakym课程是一种职位,只是不同的post_type。你的答案实际上是? –

+0

是猫的渣还是当然? – Maraboc

的,你应该做这样的:

$coursecateories = Coursecateory::with('courses')->where('slug', $slug)->get(); 

并在视图我想你的意思<h3>{{ $coursecateory->name }}</h3><h3>{{ $coursecateory->course_name }}</h3>

@foreach($coursecateories as $coursecateory) 

    <h3>{{ $coursecateory->name }}</h3> 

    @foreach($coursecateory->courses as $course) 

     <h4><a href="#">{{ $course->course_name }}</a></h4> 
     <p>{{ $course->course_description }}</p> 

    @endforeach 

@endforeach 

UPDATE

根据需要从评论分页的,你可以做到这一点,像这样:

$category = Coursecateory::where('slug', $slug)->first(); 
$courses = $category->courses()->paginate(10); 
return view('frontend.coursecats', compact('category', 'courses')); 

并在视图:

<h3>{{ $category->name }}</h3> 
@foreach($courses as $course) 

    <h4><a href="#">{{ $course->course_name }}</a></h4> 
    <p>{{ $course->course_description }}</p> 

@endforeach 
+0

欣赏它的兄弟。它现在有效! –

+1

需要3分钟才能接受它:) –

+0

你知道为什么如果我使用' - >分页(10);'而不是'get();'不工作在这个? –