请容忍我,我不善于解释事情,我不认为标题适合我的问题。
我有一个用户模型和一个课程模型。这些模型有很多关系。
目前有4个课程,但用户只与其中2个有关系(假设课程1和3)。
在某个页面上,我想输出所有课程,并突出显示与用户有关系的课程,以便它可以查看课程。因此,课程1和3将突出显示,而课程2和4将淡出。
用户模型:
public function courses()
{
return $this->belongsToMany('App\Course');
}课程模型:
public function users()
{
return $this->belongsToMany('App\User');
}控制器
public function index()
{
$member = $this->auth->user();
$courses = $this->courserepository->getAllCourses(); // Course 1,2,3,4
$member_courses = $member->courses; // Course 1,3
// Logic to filter courses which are in a relationship with the User
return view('member.course.index', compact('member', 'courses'));
}我希望我有更多的代码,但我已经删除了大部分代码,因为它没有像人们怀疑的那样工作。我在找能给我指路的人。
发布于 2015-05-07 23:23:12
在控制器替换中:
$member = $this->auth->user()->with('courses');然后在视图中:
<ul>
@foreach($courses as $course)
<li@if(in_array($course['id'], array_column($member['courses'], 'id'))){{' class="highlighted"'}}@endif>
{{$course->name}}
</li>
@endforeach
</ul>https://stackoverflow.com/questions/30105148
复制相似问题