我有一个实体呼叫提交,它有2个外键用户和任务。 一个用户有很多提交,提交属于多个用户。 一个任务有很多提交,提交属于很多任务。 在我的控制器中
-Option
在我看来
public function go_to_self_marking($id){
$task = Task::find($id);
//auth user
$user = auth()->user();
$task_criterias = $task->criterias;
$user_submissions = $user->submissions;
//user task criterias submission
return view('criterias/self-marking')
->with('task_criterias',$task_criterias)
->with('task',$task)
->with('user_submissions',$user_submissions);
}
通过这种方式,我可以显示所有提交,但无法实现该提交属于指定任务。 我的每个任务都显示所有链接到用户的提交。我该如何解决?
我更改了控制器中的代码
<div>
@if($user_submissions!== null )
@foreach($user_submissions as $user_submission)
<object type="text/html" data="{{$user_submission->url}}"
width="400px" height="350px"
style="overflow:auto;border:5px ridge blue">
</object>
@endforeach
@else
<p>No submissions</p>
@endif
</div>
我认为
public function go_to_self_marking($id,Submission $submission){
$task =Task::find($id);
//auth user
$user = auth()->user();
$task_criterias =$task->criterias;
$task_submissions =$task->submissions;
//user task criterias submission
return view('criterias/self-marking')->with('task_criterias',$task_criterias)
->with('task',$task)->with('task_submissions',$task_submissions)->with('submission',$submission);
}
现在,提交属于指定任务,但是每个用户都可以访问该提交。
答案 0 :(得分:0)
我相信您需要submissions
,它属于特定的user
和特定的task
。
在控制器功能中。
public function go_to_self_marking($id)
{
$task = Task::find($id);
$user = auth()->user();
// these are the submissions you want.
$user_task_submissions = $task->submissions()
->where('user_id', $user->id)
->get();
...
...
// rest of the code goes here.
// send these $user_task_submissions to your view.
// and iterate over them in your view.
}