在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
的,你应该做这样的:
$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
欣赏它的兄弟。它现在有效! –
需要3分钟才能接受它:) –
你知道为什么如果我使用' - >分页(10);'而不是'get();'不工作在这个? –
是你的问题实际上是,“我想在课程的分类名称”? – haakym
@haakym课程是一种职位,只是不同的post_type。你的答案实际上是? –
是猫的渣还是当然? – Maraboc