Я пробовал под запросом

  $arrIds = array('1'=>'1111'......'50000'=>'50000'); // 50K ids here

  $this->db->select('id'); 
  $this->db->from('mytable');
  $this->db->where_in('id',$arrIds);  
  $query = $this->db->get();
  $result = $query->result_array();

Получил эту ошибку при запуске

**Oops! Something's wrong!**

Severity: Warning

Message: preg_match(): Compilation failed: regular expression is too large at offset 46343

Filename: database/DB_query_builder.php

Line Number: 2395

Подскажите, пожалуйста, как решить эту проблему.

2
Kanu 21 Апр 2020 в 09:28

1 ответ

Лучший ответ

Попробуйте запустить его партиями

$arrIds = array('1'=>'1111'......'50000'=>'50000'); // 50K ids here

foreach (array_chunk($arrIds, 10000) as $chunkIds) {
  $this->db->select('id'); 
  $this->db->from('mytable');
  $this->db->where_in('id', $chunkIds);  
  $query = $this->db->get();
  $result = array_merge($result, $query->result_array());
}
5
Justinas 21 Апр 2020 в 06:53