首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel:检查关系

Laravel:检查关系
EN

Stack Overflow用户
提问于 2015-05-07 23:13:55
回答 1查看 128关注 0票数 0

请容忍我,我不善于解释事情,我不认为标题适合我的问题。

我有一个用户模型和一个课程模型。这些模型有很多关系。

目前有4个课程,但用户只与其中2个有关系(假设课程1和3)。

在某个页面上,我想输出所有课程,并突出显示与用户有关系的课程,以便它可以查看课程。因此,课程1和3将突出显示,而课程2和4将淡出。

用户模型:

代码语言:javascript
复制
public function courses()
{
    return $this->belongsToMany('App\Course');
}

课程模型:

代码语言:javascript
复制
public function users()
{
    return $this->belongsToMany('App\User');
}

控制器

代码语言:javascript
复制
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'));
}

我希望我有更多的代码,但我已经删除了大部分代码,因为它没有像人们怀疑的那样工作。我在找能给我指路的人。

EN

回答 1

Stack Overflow用户

发布于 2015-05-07 23:23:12

在控制器替换中:

代码语言:javascript
复制
$member = $this->auth->user()->with('courses');

然后在视图中:

代码语言:javascript
复制
<ul>
@foreach($courses as $course)
    <li@if(in_array($course['id'], array_column($member['courses'], 'id'))){{' class="highlighted"'}}@endif>
        {{$course->name}}
    </li>
@endforeach
</ul>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30105148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档