作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题是关于 Laravel 和 PHP 的。
我正在构建一个表单,允许使用复选框将用户(玩家)分配给团队/从团队中取消分配。
许多用户可以属于许多团队。我有一个数据透视表 team_user 来管理多对多关系。
我无法根据数据透视表中是否存在关联来填充复选框。
到目前为止,我将它们分为两个单独的“位”,您可以在下面看到:
我的 Controller :
$users_checked = $team->users()->get();
$users = User::all();
return View::make('team/addplayers', compact('users', 'team', 'users_checked'));
我的观点:
@foreach ($users_checked as $user_checked)
<p>
{{ Form::checkbox('player[]', $user_checked->id, true) }}
{{ Form::label('email', $user_checked->email) }}
</p>
@endforeach
@foreach($users as $user)
<p>
{{ Form::checkbox('player[]', $user->id ) }}
{{ Form::label('email', $user->email) }}
</p>
@endforeach
将这些“组合”到一个列表中的最明智的方法是什么,如果关联存在于数据透视表中,则勾选该复选框,如果不存在,则不勾选该复选框?
非常感谢您的帮助!
最佳答案
这些答案让我走上了正轨,谢谢。我的实际解决方案如下:
在我的 Controller 中:
public function showAddPlayer(Team $team)
{
$users = User::all();
return View::make('team/addplayers', compact('users', 'team'));
}
在我看来:
@foreach ($users as $user)
<p>
{{ Form::checkbox('player[]', $user->id, $team->users->contains($user->id)) }}
{{ Form::label('email', $user->email) }}
</p>
@endforeach
关于php - 根据数据透视表返回选中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23174761/
我是一名优秀的程序员,十分优秀!