我有一个页面,其中包含一个下拉列表,其内容(过滤器)是数据库查询的结果,另一个表格也填充了数据库查询的结果。我想要做的是选择下拉列表中的一个选项,一旦选中,该选项应作为变量传递回表的sql-query,以便可以使用这些新过滤器显示该表。
型号1(表1):
class TopPage {
public static function webmasters(){
$top_pages = DB::select(DB::raw('SELECT *
FROM my.top_pages
WHERE filter IS **Variable**
LIMIT 10'));
return $top_pages;
}
}
模型2(下拉):
Class Dropdown {
public static function getFilters() {
$filter = DB::table('my.top_pages')->select(DB::raw('DISTINCT (filter) AS filt'))->lists('filt');
return $filter;
}
}
控制器:
class WebController extends BaseController {
public function getSql_Test() {
$topPages = TopPage::webmasters();
$filters = Dropdown::getFilters();
return View::make('tools.show',['TopPage'=>$topPages],
['Dropdown'=>$filters]);
查看:
{{ Form::open() }}
<p></p>
<table class='liste' style='margin-left: 0px;' cellpadding='5'>
{{ Form::select('filt', $Dropdown, 2) }}
<p></p>
<tr>
<td style='background-color: #426bb3; color: white; font-weight: bold; width:16%;'>Date</td>
<td align='left' style='background-color: #426bb3; color: white; font-weight: bold; width:12%;'>Page</td>
<td align='left' style='background-color: #426bb3; color: white; font-weight: bold; width:12%;'>Categorie</td>
</tr>
@foreach($TopPage as $topPages)
<tr>
<td> {{$topPages->date}} </td>
<td> {{$topPages->page}} </td>
<td> {{$topPages->categorie}} </td>
</tr>
@endforeach
</table><br>
{{ Form::close() }}
非常感谢任何帮助。
答案 0 :(得分:1)
您是否忘记在视图中添加提交以便可以调用过滤器?
{{ Form::submit('Search') }}
在表单操作中,您需要引用该功能
Form::open(array('action' => 'Controller@method'))
Laravel文档