我有问题,我想使用表单进行搜索并使用分页。问题是当我更改页面时,会发生错误:
没有模型[Aluno]的查询结果。
我的控制器
Route::post(
'alunos/busca',
array(
'as' => 'alunos.busca',
'uses' => 'AlunosController@busca'
)
);
我的控制器
public function busca()
{
$search = Input::get('q');
$alunos = Aluno::where('curso', $search)->paginate(1);
return View::make('alunos.index', compact('alunos', 'search'));
}
我的观点:
<form method="post" action="{{ URL::to('alunos/busca') }}">
<input class="input-xxlarge" name="q" type="text" placeholder="Search...">
<div class="control-group">
<div class="controls">
<input type="submit" class="btn" id="submit" value="Submit" />
</div>
</div>
<div class="divPagination">
{{ $alunos->links() }}
</div>
我需要帮助..
抱歉我的英文
答案 0 :(得分:1)
我认为最好的解决方案是下一个:
将此表单复制并粘贴到您想要的位置:
{{Form::open(array('url' => 'alunos/busca','method' => 'get'))}}
{{Form::text('q', null , array('placeholder' => 'Search...','class' => 'input-xxlarge'))}}
{{Form::submit('SEARCH',array('class' => 'btn','id' => 'submit'))}}
{{Form::close()}}
在routes.php
:
Route::get('alunos/busca', function() {
$search = Input::get('q');
$alunos = Aluno::where('curso', 'LIKE', '%'.$search.'%')->paginate(15);
return View::make('alunos.index')
->with('alunos', $alunos);
});
现在,在您看来app/views/alunos/index.blade.php
:
@if(!$alunos->isEmpty())
@foreach($alunos as $aluno)
{{$aluno->subject}}
@endforeach
{{$alunos->links()}}
@else
<h1> No results </h1>
@endif
根据需要更改<欣赏
答案 1 :(得分:0)
问题是当你点击下一页时它没有你刚刚输入的搜索参数的内存,基本上是$q = null;
,这将导致错误。