Php Laravel-如何通过选定的数据透视表获取价值
我有三张桌子Php Laravel-如何通过选定的数据透视表获取价值,php,laravel,pivot,Php,Laravel,Pivot,我有三张桌子 users: id, full_name user_projects, user_id, project_id // Pivot table projects: id, name 在用户表中,我得到了10个用户 在项目A中,我希望3个用户执行项目A 然后我创建函数来存储项目A public function store(StoreRequest $request) { $data = $request->all(); try { $pro
users: id, full_name
user_projects, user_id, project_id // Pivot table
projects: id, name
在用户表中,我得到了10个用户
在项目A中,我希望3个用户执行项目A
然后我创建函数来存储项目A
public function store(StoreRequest $request)
{
$data = $request->all();
try {
$project = new Project();
$attribute = array_only($data, $project->getFillable());
$project = $project->store($attribute);
if (!empty($project)) {
$project->user()->attach($request->user_id); // Insert to pivot table
}
return redirect()->route('project.index')->with('flashSuccess', 'Create is successful!.');
} catch (Exception $ex) {
Log::error($ex);
return view('errors.404');
}
}
然后,当我按Edit时,我想显示users表中的所有10个用户和加入项目A的3个用户(pivot表中的用户),其中已选择了该用户。
我可以在视图中选择所有加入项目A的用户,但我可以在用户表中显示所有其他用户 以下是我的看法:
<div class="col-md-4">
<select id="dates-field2" name="user_id[]" class="multiselect-ui form-control" multiple="multiple">
@foreach($project->user as $user)
<option selected="selected" value="{{$user->id}}">{{$user->full_name}}</option>
@endforeach
</select>
</div>
请提供帮助。您可以检查您的用户是否已在当前项目中 ($project_id是您当前的项目)
@foreach($users作为$user)
projects->pull('project_id')->toArray())?'所选“:”}}value=“{{{$user->id}}”>{{{$user->full_name}
@endforeach
您可以检查您的用户是否已在当前项目中 ($project_id是您当前的项目)
@foreach($users作为$user)
projects->pull('project_id')->toArray())?'所选“:”}}value=“{{{$user->id}}”>{{{$user->full_name}
@endforeach
只需通过单独的查询选择所有用户。您能提供更多详细信息吗?关于什么的详细信息?如何查询数据库?Laravel手册充满了它。我可以在视图中选择所有加入项目A的用户,但我可以在用户表中显示所有其他用户。我不需要查询就可以得到这个。所以,如果你不需要查询,那么你需要什么?只需要用一个单独的查询选择所有用户。你能给我更多的细节吗?关于什么的细节?如何查询数据库?Laravel手册充满了它。我可以在视图中选择所有加入项目A的用户,但我可以在用户表中显示所有其他用户。我不需要查询就可以得到这个。所以,如果你不需要查询,那么你需要什么呢?
public function user()
{
return $this->belongsToMany('App\User', 'user_projects');
}