Максим Федоров, в общем, если интересно, я всё таки решил проблему, но не очень красиво :)
Сначала я написал в репозитории функцию получения нужной сущности напрямую
Но как потом оказалось Doctrine ещё важно, в каком порядке достаются сущности (но это всё равно не работает, если обращаться через связанную сущность, которой была Port).
В итоге рабочий вариант выглядит так:
$primaryIp = $this->ipAddressRepository->getPrimaryByPort($command->id_port); //важно взять эту сущность первой
$ipAddress = $this->ipAddressRepository->get($command->id_ip_address);
$primaryIp->getIpAddressAssigned()->setSecondary();
$ipAddress->getIpAddressAssigned()->setPrimary();
$this->em->flush();
Ускорить работу - не использовать 1с.
А если хотите получить ответ, то конкретизируйте. Какая СУБД? Что за ЦПУ? Сколько используется ресурсов того и сего, и т.д
П.С 6 ГБ памяти мало.
Если у вас не используется СУБД, и всё через файлы, то вот одна из причин вам, - переходите на использование СУБД, либо используйте SSD NVMe.
Bohdan Petrov,
кривые обновы - это как и в линуксе, вот только виндовс использует на миллиард людей больше, и проблем там на порядок меньше и часто выскакивают на системах, где "умники", что-то себе по оптимизировали или использовали "зверь" сборки.
Юзать проводник - хорошая шутка. Есть такая штука - называется тотал коммандер или альтернатива. Обычный пользователь тоже не часто использует проводник, у них помойка на рабочем столе.
Настройки согласен - майки медленно их натягивают на новый глобус, но линукс не лучше, там настройки вообще часто через GUI не работаю и проще сразу через командую строку править.
Что именно заскриптовать? Если нужно, можно написать скрипты через powershell, bat или vba, никаких проблем. Другой вопрос зачем это обычному пользователю?
Снова таки, это может быть лишь у меня так. Потому не стоит всё под одну гребёнку брать.
Вот именно эти слова хорошо характеризирует Линукс. Так только у вас или у меня и не стоит всех грести под одну грёбнку.
А вот в Виндовс такие случаи, когда что-то не так работает годами и мешает обычному пользователю, скорее исключение, чем правило.
dimaha1, потому что в линуксе всё через задницу сделано для обычного пользователя. Если вы готовы к геморою и частой потери ваших данных (особенно, если для вас это первый раз), то ставьте хоть на реальное железо.
Антон В., Тогда когда вы не можете сделать это через отношения. Например EAV лучше хранить в JSON и лучше использовать PostgreSQL для таких случаев, где есть поддержка индексов для JSON, SELECT и даже JOIN.
Если платят хорошо, а после Ада остаётесь живым, то можете дома кодить свой проект по лучшим практикам, а на работе грести деньги.
Если платят плохо и перспектив никаких, то просто уходите :)
Eugene6781, если обновили прошивку, форматируйте и ставьте виндовс 10 и смотрите как он себя поведёт.
Но используйте только 80% диска, остальные 20% оставьте как не используемые.
Eugene6781, ну вы уже отметили решением другой вопрос :). Свой ответ по этой причине я удалю через несколько часов.
А так смарт у вас показывает, что диск работает не правильно (много попыток восстановление секторов или переназначение) и возможно поможет обновление прошивки SSD, о чём я написал в первом ответе.
П.С советую смарт так же смотреть через утилиту производителя, а не сторонними.
Ku199328, тогда мало вероятно, что у вас что-то получится :) Только специализированный СЦ, причём не абы какой, а официальный, либо профессиональный, которые скорее всего попросят документы на ноутбук.
Сначала я написал в репозитории функцию получения нужной сущности напрямую
Но как потом оказалось Doctrine ещё важно, в каком порядке достаются сущности (но это всё равно не работает, если обращаться через связанную сущность, которой была
Port
).В итоге рабочий вариант выглядит так: