【发布时间】:2015-02-17 09:14:38
【问题描述】:
我是 Laravel 的新手,
来自url的查询字符串可能是三种
- “过滤器”和“状态”:
http://localhost/products?filter=productName&value=Test+Product+1&status=A&action=Filter+Result - 仅“过滤器”,“状态”将为空:
http://localhost/products?filter=productName&value=Test+Product+1&status=&action=Filter+Result - “仅状态和“过滤器”将为空:“过滤器”和“状态”
http://localhost/products?filter=&value=&status=A&action=Filter+Result
现在我可以从控制器访问查询字符串 $inputQ = Request::input()
在普通的 php 中,我可以像下面这样简单
$sql = 'SELECT * FROM products WHERE 1 = 1';
if(isset($_REQUEST['filter']) && $_REQUEST['filter'] != '' && $_REQUEST['value'] != ''){
$sql .= 'AND `'.$_REQUEST['filter'].'` = "'.addslashes($_REQUEST['value']).'"';
}
if(isset($_REQUEST['status']) && $_REQUEST['status'] != ''){
$sql .= 'AND `status` = "'.addslashes($_REQUEST['status']).'"';
}
$res = mysql_query($sql);
现在我需要构建 Laravel Eloquent 请帮助我。
【问题讨论】:
-
@nbin 我已经读过...我的问题是,只有在 URL 中找到特定参数并且参数值不为空时,我才需要添加 WHERE。你能给我一些示例代码吗?
标签: mysql laravel laravel-4 eloquent