【发布时间】:2017-06-23 02:29:00
【问题描述】:
我想对一个有 20 列的表进行复杂的搜索。
用户有一个表格,他可以在其中选择 0 到 18 个标准来进行搜索。我在控制器方法中捕获这些条件并将结果返回到视图。问题是我不知道如何构造查询。我尝试了 2 个条件,使用以下函数,但它不返回集合,我很奇怪 dd($items) 的输出是什么。无论如何,如果我删除dd($items),该函数不会返回任何内容,就好像它在表中找不到任何内容(这是不可能的,因为我以函数应该返回某些内容的方式插入了条件)。
public function looksomething($param1=null,$param2=null){
$query= "all()->";
if($param1!=null)
$query.="where(’Field1’,’$param1’)"."<br>->";
if($param2!=null)
$query.="where(’Field2’,’$param2’)"."<br>->";
$query.="get()";
$items=tablename::query();
return view('someview’,['items'=>$items]);
}
因此,在上述函数中,您可以看到我认为应该如何构建搜索查询。它类似于我对经典 php 的模型。 首先,我不知道我做错了什么。 其次,Laravel 是否有一些内置机制来构建复杂的搜索查询?
【问题讨论】:
-
你使用 Elqoent 吗?喜欢模特?还有类似 YOURMODEL::all() 的方法?
-
是的,这正是我使用的。