Использование IN с другими условиями в Redbean

Я пытаюсь найти некоторые бины, используя "IN", а также "=". Я в настоящее время использую этот код:

$ids = array(1,2,3,4);
$user = 1;

$things = R::find(
  'thing', 
  'id IN ('.R::genSlots($ids).') AND user = ?',
  array(
    $ids,
    $user
  )
);

Это дает мне некоторые ошибки:

Примечание PHP: преобразование массива в строку в файле rb.php в строке 217

Неустранимая ошибка: Uncaught [HY093] - SQLSTATE[HY093]: недопустимый номер параметра: число связанных переменных не соответствует числу токенов, выданных в rb.php в строке 267

Если я запускаю этот код с одним элементом в $id, я получаю только уведомление, но в любом случае я не получаю результатов.

Я предполагаю, что он пытается обработать $id как одну переменную. Что мне не хватает?

1 ответ

Решение

Не добавляйте $ids в массив, объединяйте два в один массив, иначе это будет вложенный массив.

Другие вопросы по тегам