Существует проблема в Laravel 5.3 / Jesenger / MongoDB 3.0, о которой я сообщил здесь .
Проблема возникает из-за сохранения или обновления поля со специальными символами, такими как «° -» в mongodb, это всегда приводит к ошибке «недостаточно памяти».
Allowed memory size of ######### bytes exhausted (tried to allocate ********** bytes)
//Whereas ######### is always greater than **********
Мой вопрос заключается в том, как я могу преобразовать специальные символы, чтобы их можно было безопасно вставить в базу данных.
Примечание : я делаю пакетную вставку и обновляю примерно 30000 записей, хорошее решение может принять это во внимание.
// Code Sample
<?php
class Products extends Jessenger\Mongodb\Eloquent\Model
{
}
?>
$product = new Products();
$product->name = 'Akara';
$product->sku = 'naija001';
$product->description = 'special characters like °ó in mongodb';
$product->save(); // Throws allowed memory size of 1392394984 bytes
// exhausted (tried to allocate 2195914) note that
// allowed memory size is greater than the allocated size
Мое временное исправление
$product = new Products();
$product->name = 'Akara';
$product->sku = 'naija001';
$product->description = utf8_encode('special characters like °ó in mongodb');
$product->save(); // Saved successfully