Thinkphp如何批量查询数据库

1.我有这样一个需求:入库单有4种存货,我要查询现存量表中有没有这种存货,如果有就增加数量,没有就新建数据;where条件是个数组,我该如何查询?

2.where条件

Array
(
    [0] => Array
        (
            [warehouse] => 办公用品仓库
            [name] => 笔记本电脑
        )

    [1] => Array
        (
            [warehouse] => 办公用品仓库
            [name] => 笔记本电脑
        )

    [2] => Array
        (
            [warehouse] => 办公用品仓库
            [name] => 万用表
        )

    [3] => Array
        (
            [warehouse] => 办公用品仓库
            [name] => 鼠标
        )

)

3.查询语句,如下查询出来是空

$ch = $stock->where($where)->select();

刚学没多久,各位大神提供下好的思路~~谢谢大家

阅读 3.5k
4 个回答

where条件:

    $where['warehouse'] = '办公用品仓库';
    $where['name'] = array('in', array('笔记本电脑','万用表','鼠标'));
// 去除 name 值,去重处理
$where['name'] = ['in', implode(',', array_unique(array_column( $data, 'name')))];

thinkphp 3.23?

$where['warehouse'] = '办公用品仓库';
$where['name'] = array('in', array('笔记本电脑','万用表','鼠标'));
//or
$where['warehouse'] = '办公用品仓库';
$where['name'] = array('in', '笔记本电脑,万用表,鼠标');

thinkphp 5.0?

where('warehouse','in','笔记本电脑,万用表,鼠标');
// or
where('warehouse','in',['笔记本电脑','万用表','鼠标']);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题