实现mysql的where的if判断

如何实现mysql的if判断,现在有一个表,表里有两个关键字段
SELECT * FROM house WHERE price='8500' OR shoufu='30'
我是想,当php传入的$price如果为空就sql查找语句就是
SELECT * FROM house WHERE shoufu='30'
当php传入的$shoufu如果为空就sql查找语句就是
SELECT * FROM house WHERE price='8500'
用or判断是不可以的,就想用if判断
另外想问在thinkphp5中是如何在where中实现if else sql语句判断的

阅读 4.1k
1 个回答
$map = [];
if(!empty($price))
{
    $map['price'] = $price;
}
if(!empty($shoufu))
{
    $map['shoufu'] = $shoufu;
}
Db::table('xxxxx')->where($map)->select(); 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题