Cut*_*ish 9 php mysql sql query-builder laravel-4
我有这个查询,使用Laravel查询生成器:
$rows = DB::table('elements')->where('type', 1);
Run Code Online (Sandbox Code Playgroud)
这对应于:"SELECT*from elements WHERE type = 1"
现在,在某些情况下,我需要添加第二个创建查询的位置,如下所示:
SELECT * from elements WHERE type=1 AND lang='EN'
Run Code Online (Sandbox Code Playgroud)
使用经典php
我会做类似的事情:
$sql = 'SELECT * from elements WHERE type=1';
if($var==true) $sql .= " AND lang='EN'";
Run Code Online (Sandbox Code Playgroud)
如何使用Laravel Query Builder执行此操作?
谢谢.
The*_*pha 28
你可以尝试这样的事情
$query = DB::table('elements');
$query->where('some_field', 'some_value');
// Conditionally add another where
if($type) $query->where('type', 1);
// Conditionally add another where
if($lang) $query->where('lang', 'EN');
$rows = $query->get();
Run Code Online (Sandbox Code Playgroud)
另外,请检查此答案.