Mysql Laravel 5.6如何按id获取数据并按10 x 10打印
我打印了50个问题,而且效果也不错。但这一要求改变了如何按主题id回答问题,并在5页内以10×10的速度打印出来。好消息。我接受了主题id和问题。但我如何从控制器中的数据库获取数据呢 我的数据库列=问题Mysql Laravel 5.6如何按id获取数据并按10 x 10打印,mysql,laravel,Mysql,Laravel,我打印了50个问题,而且效果也不错。但这一要求改变了如何按主题id回答问题,并在5页内以10×10的速度打印出来。好消息。我接受了主题id和问题。但我如何从控制器中的数据库获取数据呢 我的数据库列=问题 | id | topic_id |question_text| | ---|:--------:|:-----------:| | 1 | 5 | question1 | | 2 | 6 | question2 | | 3 | 7 | qu
| id | topic_id |question_text|
| ---|:--------:|:-----------:|
| 1 | 5 | question1 |
| 2 | 6 | question2 |
| 3 | 7 | question3 |
主题id=>问题请求编号
array:9 [▼
"_token" => "N6AJGDf95iQ5WOae3WKibS3yiEdzXJmW7RPXu6sE"
1 => "5"
2 => "3"
3 => "5"
4 => "1"
5 => "3"
6 => "6"
7 => "7"
8 => "8"
]
$questions = $request->input('questions');
$inquiries = $request->input('inquiries');
$queries = $request->input('queries');
$examinations = $request->input('examinations');
$inquisitions = $request->input('inquisitions');
$except = [];
$questions = Question::inRandomOrder()->limit(10)->get();
$except = array_merge($except, $questions->pluck('id')->toArray());
$inquiries = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
$except = array_merge($except, $inquiries->pluck('id')->toArray())
$queries = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
$except = array_merge($except, $queries->pluck('id')->toArray());
$examinations = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
$except = array_merge($except, $examinations->pluck('id')->toArray());
$inquisitions = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
foreach ($questions as &$question) {
$question->options = QuestionsOption::where('question_id', $question->id)->inRandomOrder()->get();
}
return view('exams.create', compact('questions','inquiries','queries','examinations','inquisitions'));
是我以前的控制器
array:9 [▼
"_token" => "N6AJGDf95iQ5WOae3WKibS3yiEdzXJmW7RPXu6sE"
1 => "5"
2 => "3"
3 => "5"
4 => "1"
5 => "3"
6 => "6"
7 => "7"
8 => "8"
]
$questions = $request->input('questions');
$inquiries = $request->input('inquiries');
$queries = $request->input('queries');
$examinations = $request->input('examinations');
$inquisitions = $request->input('inquisitions');
$except = [];
$questions = Question::inRandomOrder()->limit(10)->get();
$except = array_merge($except, $questions->pluck('id')->toArray());
$inquiries = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
$except = array_merge($except, $inquiries->pluck('id')->toArray())
$queries = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
$except = array_merge($except, $queries->pluck('id')->toArray());
$examinations = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
$except = array_merge($except, $examinations->pluck('id')->toArray());
$inquisitions = Question::inRandomOrder()->whereNotIn('id', $except)->limit(10)->get();
foreach ($questions as &$question) {
$question->options = QuestionsOption::where('question_id', $question->id)->inRandomOrder()->get();
}
return view('exams.create', compact('questions','inquiries','queries','examinations','inquisitions'));
create.blade.php
<form method="post" name="myform" action="{{ route('exams.store') }}">
{{ csrf_field() }}
<div id="account_details">
<div class="panel panel-default">
<div class="panel-heading">
Нэгдүгээр хэсэг
</div>
<?php //dd($questions) ?>
@if(count($questions) > 0)
<div class="panel-body">
<?php $i = 1; ?>
@foreach($questions as $question)
@if ($i > 1) <hr /> @endif
<div class="row">
<div class="col-xs-12 form-group">
<div class="form-group">
<strong>Асуулт {{ $question->id }}.<br/><br/>{!! nl2br($question->question_text) !!}</strong><br/>
<input
type="hidden"
name="questions[{{ $question->id }}]"
value="{{ $question->id }}">
@foreach($question->options as $option)
<br>
<label class="radio-inline">
<input
type="radio"
name="answers[{{ $question->id }}]"
value="{{ $option->id }}">
{{ $option->option }}
</label>
@endforeach
</div>
</div>
</div>
<?php $i++; ?>
@endforeach
</div>
@endif
</div><input type="button" value="Дараагын хуудас" onclick="show_next('account_details','user_details','bar1');">
</div>
<div id="user_details">
<div class="panel panel-default">
<div class="panel-heading">
Хоёрдугаар хэсэг
</div>
<?php //dd($questions) ?>
@if(count($inquiries) > 0)
<div class="panel-body">
<?php $i = 1; ?>
@foreach($inquiries as $question)
@if ($i > 1) <hr /> @endif
<div class="row">
<div class="col-xs-12 form-group">
<div class="form-group">
<strong>Асуулт {{ $question->id }}.<br/><br/>{!! nl2br($question->question_text) !!}</strong><br/>
<input
type="hidden"
name="questions[{{ $question->id }}]"
value="{{ $question->id }}">
@foreach($question->options as $option)
<br>
<label class="radio-inline">
<input
type="radio"
name="answers[{{ $question->id }}]"
value="{{ $option->id }}">
{{ $option->option }}
</label>
@endforeach
</div>
</div>
</div>
<?php $i++; ?>
@endforeach
</div>
@endif
</div>
<input type="button" value="Өмнөх хуудас" onclick="show_prev('account_details','bar1');">
<input type="button" value="Дараагын хуудас" onclick="show_next('user_details','qualification','bar2');">
</div>
<div id="qualification">
<div class="panel panel-default">
<div class="panel-heading">
Гуравдугаар хэсэг
</div>
<?php //dd($questions) ?>
@if(count($queries) > 0)
<div class="panel-body">
<?php $i = 1; ?>
@foreach($queries as $question)
@if ($i > 1) <hr /> @endif
<div class="row">
<div class="col-xs-12 form-group">
<div class="form-group">
<strong>Асуулт {{ $question->id }}.<br/><br/>{!! nl2br($question->question_text) !!}</strong><br/>
<input
type="hidden"
name="questions[{{ $question->id }}]"
value="{{ $question->id }}">
@foreach($question->options as $option)
<br>
<label class="radio-inline">
<input
type="radio"
name="answers[{{ $question->id }}]"
value="{{ $option->id }}">
{{ $option->option }}
</label>
@endforeach
</div>
</div>
</div>
<?php $i++; ?>
@endforeach
</div>
@endif
</div>
<input type="button" value="Өмнөх хуудас" onclick="show_prev('user_details','bar1');">
<input type="button" value="Дараагын хуудас" onclick="show_next('qualification','exort','bar2');">
</div>
<div id="exort">
<div class="panel panel-default">
<div class="panel-heading">
Дөрөвдүгээр хэсэг
</div>
<?php //dd($questions) ?>
@if(count($examinations) > 0)
<div class="panel-body">
<?php $i = 1; ?>
@foreach($examinations as $question)
@if ($i > 1) <hr /> @endif
<div class="row">
<div class="col-xs-12 form-group">
<div class="form-group">
<strong>Асуулт {{ $question->id }}.<br/><br/>{!! nl2br($question->question_text) !!}</strong><br/>
<input
type="hidden"
name="questions[{{ $question->id }}]"
value="{{ $question->id }}">
@foreach($question->options as $option)
<br>
<label class="radio-inline">
<input
type="radio"
name="answers[{{ $question->id }}]"
value="{{ $option->id }}">
{{ $option->option }}
</label>
@endforeach
</div>
</div>
</div>
<?php $i++; ?>
@endforeach
</div>
@endif
</div>
<input type="button" value="Өмнөх хуудас" onclick="show_prev('qualification','bar1');">
<input type="button" value="Дараагын хуудас" onclick="show_next('exort','wex','bar2');">
</div>
<div id="wex">
<div class="panel panel-default">
<div class="panel-heading">
Тавдугаар хэсэг
</div>
<?php //dd($questions) ?>
@if(count($inquisitions) > 0)
<div class="panel-body">
<?php $i = 1; ?>
@foreach($inquisitions as $question)
@if ($i > 1) <hr /> @endif
<div class="row">
<div class="col-xs-12 form-group">
<div class="form-group">
<strong>Асуулт {{ $question->id }}.<br/><br/>{!! nl2br($question->question_text) !!}</strong><br/>
<input
type="hidden"
name="questions[{{ $question->id }}]"
value="{{ $question->id }}">
@foreach($question->options as $option)
<br>
<label class="radio-inline">
<input
type="radio"
name="answers[{{ $question->id }}]"
value="{{ $option->id }}">
{{ $option->option }}
</label>
@endforeach
</div>
</div>
</div>
<?php $i++; ?>
@endforeach
</div>
@endif
</div>
<input type="hidden" name="torol" value="1">
<div class="form-group">
<input type="button" value="Өмнөх хуудас" onclick="show_prev('exort','bar1');">
<button type="submit">Дуусгах</button>
</div>
</div>
</form>
{{csrf_field()}}
Нэгдүгээр хэсэг
@如果(计数($问题)>0)
@foreach($问题作为$问题)
@如果($i>1)
@endif
АССССПτ{{$QUEST->id}。
{!!nl2br($QUEST->QUEST_text)!!
@foreach($question->options as$option)
{{$option->option}
@endforeach
@endforeach
@恩迪夫
Хоёрдугаар хэсэг
@如果(计数($查询)>0)
@foreach($查询作为$问题)
@如果($i>1)
@endif
АССССПτ{{$QUEST->id}。
{!!nl2br($QUEST->QUEST_text)!!
@foreach($question->options as$option)
{{$option->option}
@endforeach
@endforeach
@恩迪夫
Гуравдугаар хэсэг
@如果(计数($查询)>0)
@foreach($查询为$问题)
@如果($i>1)
@endif
АССССПτ{{$QUEST->id}。
{!!nl2br($QUEST->QUEST_text)!!
@foreach($question->options as$option)
{{$option->option}
@endforeach
@endforeach
@恩迪夫
Дөрөвдүгээр хэсэг
@如果(计数($检查)>0)
@foreach($考试作为$问题)
@如果($i>1)
@endif
АССССПτ{{$QUEST->id}。
{!!nl2br($QUEST->QUEST_text)!!
@foreach($question->options as$option)
{{$option->option}
@endforeach
@endforeach
@恩迪夫
Тавдугаар хэсэг
@如果(计数($查询)>0)
@foreach($查询作为$问题)
@如果($i>1)
@endif
АССССПτ{{$QUEST->id}。
{!!nl2br($QUEST->QUEST_text)!!
@foreach($question->options as$option)
{{$option->option}
@endforeach
@endforeach
@恩迪夫
Дуусгах
ExamsController@create
就是这样。因为我需要接受问题数组的输入请求
@foreach($questions as $question)
@if ($i > 1) <hr /> @endif
<div class="row">
<div class="col-xs-12 form-group">
<div class="form-group">
<strong>Асуулт {{ $question->id }}.<br/><br/>{!! nl2br($question->question_text) !!}</strong><br/>
<input
type="hidden"
name="questions[{{ $question->id }}]"
value="{{ $question->id }}">
@foreach($question->options as $option)
<br>
<label class="radio-inline">
<input
type="radio"
name="answers[{{ $question->id }}]"
value="{{ $option->id }}">
{{ $option->option }}
</label>
@endforeach
</div>
</div>
</div>
<?php $i++; ?>
@endforeach
@foreach($questions as$question)
@如果($i>1)
@endif
АССССПτ{{$QUEST->id}。
{!!nl2br($QUEST->QUEST_text)!!
@foreach($question->options as$option)
{{$option->option}
@endforeach
@endforeach
我会这样做:
$questions = Question::with(['options' => function($query) {
$query->inRandomOrder();
}])->inRandomOrder()->paginate(10);
return view('exams.create', compact('questions'));
$questions = Question::with(['options' => function($query) {
$query->inRandomOrder();
}])->inRandomOrder()->limit(50)->get()->slice(5);
return view('exams.create', compact('questions'));
@foreach($questions as $group)
@foreach ($group as $question)
{{$question}}
@foreach($question->options as $option)
{{$option}}
@endforeach
@endforeach
@endforeach
请记住,此解决方案想当然地认为您在问题
和问题选项
之间有一个雄辩的关系,称为选项
如果需要有关如何在视图中处理分页的更多信息,请查看
编辑
如果你只需要将你的问题分成五组,你可以这样做:
$questions = Question::with(['options' => function($query) {
$query->inRandomOrder();
}])->inRandomOrder()->paginate(10);
return view('exams.create', compact('questions'));
$questions = Question::with(['options' => function($query) {
$query->inRandomOrder();
}])->inRandomOrder()->limit(50)->get()->slice(5);
return view('exams.create', compact('questions'));
@foreach($questions as $group)
@foreach ($group as $question)
{{$question}}
@foreach($question->options as $option)
{{$option}}
@endforeach
@endforeach
@endforeach
要在视图中显示结果,可以执行以下操作:
$questions = Question::with(['options' => function($query) {
$query->inRandomOrder();
}])->inRandomOrder()->paginate(10);
return view('exams.create', compact('questions'));
$questions = Question::with(['options' => function($query) {
$query->inRandomOrder();
}])->inRandomOrder()->limit(50)->get()->slice(5);
return view('exams.create', compact('questions'));
@foreach($questions as $group)
@foreach ($group as $question)
{{$question}}
@foreach($question->options as $option)
{{$option}}
@endforeach
@endforeach
@endforeach
希望这对您有所帮助。先生,请看一下我的最新问题。这就是为什么我要分开5个部分。并将em 5分开打印到foreach
s。我知道如何使用分页,希望如此。@RukaXing很抱歉,我很难理解视图,我不懂西里尔语/蒙古语,但就我所能阅读的内容而言,有5种不同的类别?是的。5种不同的观点。我必须分开。这就是为什么我使用$questions=$request->input('questions')$查询=$request->input('inquiries')$查询=$request->input('querys')$检查=$request->input(‘检查’)$查询=$request->input('inquisitions')代码>@RukaXing所以它们在同一个视图中,但在不同的块中?如果是这样的话,就不需要分页或分隔查询。但是我不明白你为什么得到请求
输入,我看不到你在代码中的任何地方使用它。是的,绝对是。需要分开询问,先生。我想是吧。对不起,我的英语不好,先生。我想我