Laravel MySQL Ошибка запроса не работает (допустимый объем памяти 536870912 байт исчерпан (попытался выделить 264245248 байт) - PullRequest
0 голосов
/ 03 апреля 2020

Есть идеи, почему этот запрос не будет работать в Laravel 7? Он отлично работает в MySQL верстаке. Сообщение об ошибке: ошибка памяти

$rows = Sections::select("t1.name AS lev1, t1.id as lev1_id, t2.name as lev2, t2.id as lev2_id, t3.name as lev3, t3.id as lev3_id, t4.name as lev4, t4.id as lev4_id, t5.name as lev5, t5.id as lev5_id
        sections AS t1
        LEFT JOIN sections AS t2 ON t2.parent = t1.id
        LEFT JOIN sections AS t3 ON t3.parent = t2.id
        LEFT JOIN sections AS t4 ON t4.parent = t3.id
        LEFT JOIN sections AS t5 ON t5.parent = t4.id
        WHERE t1.name = 'Windows'");

Ответы [ 3 ]

0 голосов
/ 03 апреля 2020

скопируйте скрипт в первую строку и попробуйте

ini_set('memory_limit', '1024M');

0 голосов
/ 04 апреля 2020

Я изменил запрос на

$ row = Sections :: selectRaw ('t1.name AS lev1, t1.id как lev1_id, t2.name как lev2, t2.id как lev2_id, t3. назовите как lev3, t3.id как lev3_id, t4.name как lev4, t4.id как lev4_id, t5.name как lev5, t5.id как lev5_id как AS t1 Присоединяйтесь к разделам AS t2 ON t2.parent = t1.id Присоединяйтесь к разделам КАК t3 ВКЛ t3.parent = t2.id ПРИСОЕДИНЯЙТЕСЬ разделы КАК t4 ВКЛ t4.parent = t3.id СОЕДИНЯЙТЕСЬ разделы КАК t5 ВКЛ t5.parent = t4.id ГДЕ t1.name =? ', [' Windows ']) -> get ()

теперь ошибка:

SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с разделами AS t1 JOIN разделы AS t2 ON t2.parent = t1.id JOIN se c 'в строке 2 (SQL: выберите t1. имя AS lev1, t1.id как lev1_id, t2.name как lev2, t2.id как lev2_id, t3.name как lev3, t3.id как lev3_id, t4.name как lev4, t4.id как lev4_id, t5.name как lev5, t5.id в качестве разделов lev5_id AS t1 Присоединяющиеся разделы AS t2 ON t2.parent = t1.id Присоединяющиеся разделы AS t3 ON t3.parent = t2.id Присоединяющиеся разделы AS t4 ON t4.parent = t3.id Присоединяющиеся разделы AS t5 ON t5.parent = t4.id ГДЕ t1.name = Windows из sections)

0 голосов
/ 03 апреля 2020

Ваш сервер максимально превысил максимальный объем памяти в 536 МБ и пытается выделить больше 264 МБ. Вам необходимо увеличить лимит памяти для файла php .ini или уменьшить набор данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...