Не работает whereIn если данных больше 700,почему так?

Проблема, с которой вы сталкиваетесь, связана с ограничением в размере запроса, установленном на вашем сервере или базе данных. Если данные, которые вы передаете в метод whereIn, превышают это ограничение, запрос будет неудачным и вы получите ошибку.

Размер запроса может быть ограничен разными факторами, включая конфигурацию PHP, конфигурацию вашей базы данных и настройки сервера. Настройки по умолчанию во многих случаях ограничивают размер запроса на уровне PHP и базы данных.

Чтобы решить эту проблему, вам нужно увеличить максимальный размер запроса на своем сервере и базе данных.

Если вы используете Laravel, вы можете настроить максимальный размер запроса в файле настроек config/database.php. В этом файле найдите массив connections и установите значение max_allowed_packet в вашей конфигурации базы данных, чтобы соответствовать максимальному размеру запроса, который вы хотите отправить. Например, если вы хотите установить максимальный размер запроса на 10 МБ, вы можете установить значение max_allowed_packet равным 10485760 (10 * 1024 * 1024).

'connections' => [
    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
        'options' => [
            PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => 10485760 // Установите требуемое значение размера запроса
        ],
    ],
],

Кроме того, вы можете настроить максимальный размер запроса на уровне сервера базы данных. Для MySQL это может быть сделано с помощью параметра max_allowed_packet в файле конфигурации MySQL (обычно my.cnf или my.ini). Установите значение этого параметра таким образом, чтобы оно соответствовало максимальному размеру запроса, который вы хотите отправить.

После внесения изменений в настройки сервера и базы данных, перезапустите сервер и попробуйте выполнить запрос снова. Убедитесь, что размер данных, передаваемых в метод whereIn, не превышает установленное ограничение.

Надеюсь, что эта информация поможет вам решить проблему с ограничением размера запроса и успешно выполнить ваш запрос whereIn.