【发布时间】:2018-04-30 07:28:41
【问题描述】:
寻求帮助,我如何为用户例外,如果他不属于调查所属的团队,则看不到调查?因为现在每个人都可以看到所有调查,当更改链接最后一个 ID 号时。也许有人有一些建议,我该如何制定规则或检查用户 id,如果存在于调查 id 属于团队或其他东西的团队中
这是我的控制器:
public function viewSurvey($id)
{
$object = DB::table('question')->where('survey_id' , '=', $id)->get();
$date = Survey::where('surveyId' , '=', $id)->get();
$teams = Auth::user()->teams;
$members = Survey::where('surveyId' , '=', $id)
->join('team','team.teamId', '=', 'survey.teamId')
->join('teammembersall','teammembersall.TeamId', '=', 'team.TeamId')
->join('users','users.id', '=', 'teammembersall.UserId')
->select('users.*')
->whereNotExists(function($query){
$query->select(DB::raw(1))
->from('answer')
->whereRaw('answer.answerAboutUserId = users.id');
})
->get();
$questions = DB::table('answer')->get();
return view('survey_details', ['object' => $object, 'date' => $date, 'teams' => $teams, 'members' => $members, 'questions' => $questions]);
}
这是我的观点:
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<div class="container">
<hr>
<div class="row">
<div class="col-md-2">
</div>
<div class="col-md-8">
<br>
<div style="display:none">
{{ $dates = date('Y-m-d H:i:s') }}
</div>
<div class="container-survey-logo">
<img src={{url('/img/survey-banner.jpg')}} width="100%" height="auto" alt=""/>
<div class="text-block-survey-date">
@foreach($date as $dat)
<h4>End date:</h4>
<p>{{ $dat->ended_at}}</p>
@endforeach
</div>
</div>
<div style="display:none;">
@foreach($questions as $quest)
<p>{{ $quest->answerAboutUserId}}</p>
@endforeach
</div>
@if($dat->ended_at > $dates )
<div class="survey-theme">
@foreach($members as $memb)
@if($memb->id != Auth::user()->id)
<form action="/confirmSurveyAnswers" method="post">
{{csrf_field()}}
<br>
<div class="well well-lg">
<h5>
Questions about member:
<h2><input style="border:none;background:none" name="surveyName" value="{{ $memb->name}}" readonly></h2>
<input style="border:none;background:none;display:none" name="surveyUserDataId" value="{{ $memb->id}}" readonly>
</h5>
<br>
@foreach($object as $object_each)
<input style="font-size:20px;" type="text" class="form-control" id="exampleInputAnswer" name="questionName[{{$object_each->id}}]" value="{!! $object_each->name !!}" readonly>
<div class="survey-questions">
<label class="radio-inline-text">
Not agree -
</label>
<label class="radio-inline">
<input type="checkbox" value="1" name="QuestionsAnswers[{{$object_each->id}}]" >1
</label>
<label class="radio-inline">
<input type="checkbox" value="2" name="QuestionsAnswers[{{$object_each->id}}]" >2
</label>
<label class="radio-inline">
<input type="checkbox" value="3" name="QuestionsAnswers[{{$object_each->id}}]" >3
</label>
<label class="radio-inline">
<input type="checkbox" value="4" name="QuestionsAnswers[{{$object_each->id}}]" >4
</label>
<label class="radio-inline">
<input type="checkbox" value="5" name="QuestionsAnswers[{{$object_each->id}}]" >5
</label>
<label class="radio-inline">
<input type="checkbox" value="6" name="QuestionsAnswers[{{$object_each->id}}]" >6
</label>
<label class="radio-inline">
<input type="checkbox" value="7" name="QuestionsAnswers[{{$object_each->id}}]" >7
</label>
<label class="radio-inline">
<input type="checkbox" value="8" name="QuestionsAnswers[{{$object_each->id}}]" >8
</label>
<label class="radio-inline">
<input type="checkbox" value="9" name="QuestionsAnswers[{{$object_each->id}}]" >9
</label>
<label class="radio-inline">
<input type="checkbox" value="10" name="QuestionsAnswers[{{$object_each->id}}]" >10
</label>
<label class="radio-inline-text">
- Fully agree
</label>
</div>
@endforeach
<div class="im-done-button">
<button type="submit" class="btn btn-primary">I'm Done</button>
</div>
</div>
@endif
</form>
@endforeach
<Br>
@include('layouts.errors')
</div>
@else <h1>This survey ended</h1> @endif
</div>
<div class="col-md-2">
</div>
</div>
<hr>
</div>
</body>
</html>
【问题讨论】:
标签: laravel exception locking rules