Laravel:如何使用查询生成器添加where子句? [英] Laravel: how to add where clause using query builder?

查看:91
本文介绍了Laravel:如何使用查询生成器添加where子句?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有使用Laravel查询构建器进行的查询:

I have this query, made using Laravel query builder:

$rows = DB::table('elements')->where('type', 1);

对应于:从类型为1的元素中选择*"

That corresponds to: "SELECT * from elements WHERE type=1"

现在,在某些情况下,我需要添加第二个在何处创建这样的查询:

Now, in some cases I need to add a second Where to create a query like this:

SELECT * from elements WHERE type=1 AND lang='EN'

使用经典的php我会做类似的事情:

Using classic php I'd do something like:

$sql = 'SELECT * from elements WHERE type=1';

if($var==true) $sql .= " AND lang='EN'";

如何使用Laravel查询生成器来做到这一点?

How can I do that using Laravel Query Builder?

谢谢.

推荐答案

您可以尝试类似的操作

$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();

也请检查此答案.

这篇关于Laravel:如何使用查询生成器添加where子句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆