Maison  >  Questions et réponses  >  le corps du texte

Comment Thinkphp interroge-t-il la base de données par lots ?

1. J'ai une telle exigence : il existe 4 types d'inventaire dans le récépissé d'entrepôt. Je souhaite vérifier s'il existe un tel inventaire dans le tableau existant. Si tel n'est pas le cas, créez de nouvelles données. où la condition est un tableau. Comment dois-je interroger ?

2.où condition

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

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

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

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

)

3. Instruction de requête, la requête suivante est vide

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

Je viens de commencer à apprendre et certains experts m'ont donné de bonnes idées~~Merci à tous

天蓬老师天蓬老师2723 Il y a quelques jours631

répondre à tous(4)je répondrai

  • 大家讲道理

    大家讲道理2017-05-27 17:44:03

    où conditions :

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

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-27 17:44:03

    // 去除 name 值,去重处理
    $where['name'] = ['in', implode(',', array_unique(array_column( $data, 'name')))];
    

    répondre
    0
  • 高洛峰

    高洛峰2017-05-27 17:44:03

    vous pensez à PHP 3.23 ?

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

    vous pensez à PHP 5.0 ?

    where('warehouse','in','笔记本电脑,万用表,鼠标');
    // or
    where('warehouse','in',['笔记本电脑','万用表','鼠标']);

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-27 17:44:03

    Bonne réponse à l'étage. . . . . .

    répondre
    0
  • Annulerrépondre