我想通过分配用户登录名在选择选项中显示项目数据。
这是我的表单选择选项
<div class="form-group">
<label for="">Project *</label>
<select class="form-control select2" style="width: 100%;" name="project_id">
<option value="project_id" selected>Select One</option>
@foreach($projects as $id => $project)
<option value="{{$id}}">{{$project}}</option>
@endforeach
</select>
</div>
这是我的控制器,由分配用户选择项目名称
$projects = UserProjects::pluck('project_id', 'user_id');
,我使用Many To Many Relation
。
在我的用户模型中
public function projects()
{
return $this->belongsToMany(Project::Class, 'user_projects');
}
在我的项目模型中
public function users()
{
return $this->belongsToMany(User::class, 'user_projects');
}
,而在我的数据透视表user_projects
中,它只是project_id
和user_id
。我应该在表单的选择选项中写些什么??
答案 0 :(得分:0)
在many to many relation
中,您不必为中间表(user_projects)定义模型。
控制器
$user_projects = auth()->user()->projects;
查看
<div class="form-group">
<label for="">Project *</label>
<select class="form-control select2" style="width: 100%;" name="project_id">
<option value="project_id" selected>Select One</option>
@foreach($user_projects as $user_project)
<option value="{{$user_project->id}}">{{$user_project->name}}</option>
@endforeach
</select>
</div>