【发布时间】:2018-09-07 05:42:42
【问题描述】:
我在使用 laravel 时遇到问题,我正在运行一个 SPA,我需要创建一个按类别搜索和过滤的表单。
我正在通过 POST 执行此操作,但我需要使用过滤器和 ajax 再次运行查询,以便页面不会重新加载。
但是我该怎么做呢?我只需要运行该查询并重新加载 div,ajax 部分还可以,但我不知道如何在不运行每个查询以“填充”页面内容的情况下仅运行该查询。
对不起,如果不够清楚,我的英语不太好。
感谢您的建议!
控制器:
public function index()
{
$data['servicos'] = DB::select('SELECT * FROM servicos WHERE ativo = 1 ORDER BY ORDEM ASC');
$data['servicos_processo'] = DB::select('SELECT * FROM servicos_processo WHERE ativo = 1 ORDER BY ID ASC');
$data['servicos_fun'] = DB::select('SELECT * FROM servicos_fun WHERE ativo = 1 ORDER BY ID ASC');
$data['curriculum_historico'] = DB::select('SELECT * FROM curriculum_historico WHERE ativo = 1 ORDER BY ID DESC');
$data['curriculum_educacao'] = DB::select('SELECT * FROM curriculum_educacao WHERE ativo = 1 ORDER BY ANO ASC');
$data['curriculum_coding_skills'] = DB::select('SELECT * FROM curriculum_coding_skills WHERE ativo = 1 ORDER BY ID ASC');
$data['curriculum_other_skills'] = DB::select('SELECT * FROM curriculum_other_skills WHERE ativo = 1 ORDER BY ID ASC');
$data['curriculum_testimonials'] = DB::select('SELECT * FROM curriculum_testimonials WHERE ativo = 1 ORDER BY ID ASC');
$data['certificados_last'] = DB::select('SELECT * FROM certificados WHERE ativo = 1 ORDER BY data_conclusao DESC LIMIT 9');
return view('main', $data);
}
public function certificados()
{
$nome = Request::input('filtro-certificados');
$data['certificados_last'] = DB::select("SELECT * FROM certificados WHERE ativo = 1 AND nome LIKE '%{$nome}%' ORDER BY data_conclusao DESC LIMIT 9");
return $data;
}
查看:
<div class="latest-posts media-grid masonry" data-layout="masonry" data-item-width="340">
@foreach($certificados_last as $certificado)
<article class="hentry media-cell">
<div class="media-box">
<img src="images/certificados/{{$certificado->id}}.svg" style="padding:60px" alt="post-image">
<div class="mask"></div>
<a href="certificado/{{$certificado->id}}"></a>
</div>
<header class="media-cell-desc">
<span title="2013" class="date">
<span class="day">{{$certificado->dia_conclusao}}</span>{{$certificado->mes_conclusao}}</span>
<h3>
<a href="certificado/{{$certificado->id}}">{{$certificado->nome}}</a>
</h3>
</header>
</article>
@endforeach
</div>
【问题讨论】:
-
到目前为止你做了什么?显示你完成的控制器/模型/ajax..然后显示问题..
-
你有一个只执行这个查询的 api 调用吗?你有一些代码吗?我建议你调用 api 并将结果交给客户端
-
@ZeroOne 刚刚添加了代码。我暂时没有ajax,我稍后再做