Laravel 4.1处理多对多关系

米克尔·温特(Mikkel Winther)

我有一个具有以下功能的Post模型:

public function tags() {

    return $this->belongsToMany('Tag', 'refs', 'post', 'tag');

}

以及具有类似功能的Tag模型:

public function posts() {

    return $this->belongsToMany('Post', 'refs', 'tag', 'post');

}

现在,我将标签输出为foreach循环中的复选框。然后,我有兴趣做的是在给定视图中选中与与我正在使用的Post模型相关的标签相对应的复选框,但是直觉并不能解决我的问题,而且我对技术的了解也不多用行话来为Google的答案制定适当的搜索查询。

编辑:

如果相关,这是我的foreach循环:

    @foreach($tags as $tag)
        <tr>
        <td><label for="{{ $tag->id }}">{{ $tag->title }}</label></td>
        <td><input type="checkbox" value="{{ $tag->id }}" name="tags[]" id="{{ $tag->id }}" /></td>
        </tr>
    @endforeach

哪个完美。我只需要弄清楚我的if语句应该在正确的循环中在我的输入标签的末尾输出以下内容。

checked="checked"
亚历克斯

听起来您想要这样的东西:

<input type="checkbox" value="{{ $tag->id }}" name="tags[]" id="{{ $tag->id }}" @if ($post->tags->contains($tag->id)) checked="checked" @endif />

因此,基本上,如果Post的集合Tag包含Tag的ID,则会选中此复选框。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章