CakePHP 3 находит все, где id совпадает, ИЛИ в массиве неизвестной длины

У меня есть корзина сеанса, в которую я добавляю идентификатор и количество.

Мой массив выглядит так $cart = [[1,1], [108,1] ,[50,2], [109,1]] Первый индекс - это идентификатор продукта, а второй - количество.

Я пытаюсь найти, где id равен моему array[0] В качестве теста я явно установил идентификаторы, которые я хочу

Я просматриваю мануэль, толком ничего не нашел. Я видел matching(), но это тоже не то.

  $query = $this->Carts->Products->find('all')
        ->where(['id' => [1,108,50,109] ]);

Одна из идей - выполнить foreach для $ cart и просто выполнить запрос get (id) для каждого из них? Но это звучит неэффективно.


person artSir    schedule 01.09.2015    source источник
comment
спасибо, я забыл, как это называется, мне нужно просмотреть свой SQL   -  person artSir    schedule 01.09.2015


Ответы (1)


$query = $this->Carts->Products->find('all') ->where(['id IN' => $yourarray]);

просто используйте предложение IN

person Nazim    schedule 01.09.2015