Рональд Макдональд, так ремап физического сектора при записи - прям раз - и фрагментация. и ОС про неё ничего не знает. Только контроллер ССД. Он же может и выполнять дефрагментацию.
Sanes, у меня нет доступа к консолям, у меня обычный шаред хостинг. при создании домента ничег указывать не могу все само создается. Причем в одной папке аккаунта лежат папки по доменам в них - папки с логами, темпами, cgi (зачем в 2020?) и www. Ну, теперь ларавель еще.
Почему сделал ссылку не наоборот уже не помню.
Рональд Макдональд, структура структура ssd, видимая из ОС и её физическое представление сильно разнятся. например в ssd при записи в сектор происходит запись в новый сектор и ремап логического номера на другой физический, причем ОС об этом ничего не знает. Может быть в фоне происходит выравнивание, чтобы оптимизировать readahead какой-нибудь. Не говоря уже о простейшем trim, который старые сектора, ставшие свободными после ремапа чистит. Обычный trim работает на уровне ОС - ОС говорит, какие сектора типа чистые, а внутренний trim - может чистить ремапленные без вмешательства ОС
Erl, ввести параметр "поле сортировки" (допустимые значения - объект с полями: название поля сортировки + тип этого поля, для правильной сортировки дат и строк) и "направление сортировки" (1 или -1), убрать специфичную сортировку, ввести универсальную сортировку. Внутри функции сортировки умножать результат сравнения на "направление".
Andrey Suha, для варианта из вопроса нужно заменить весь whereHas на Device::whereIn('category_id', $categories). Но это будет два запроса. Мой ответ даст результат за один запрос, но от Eloquent надо спуститься ниже, да.
Сергей, ну так если их нет в таблице а, то условие на таблицу а не нужно? Это нижняя часть ответа. Ну, или нарисуй данные в а, данные в б и результат. Типа тест кейс. Начальное заполнение можно сделать на sqlfiddle, например
а что должно попасть в результат, если в таблице А есть соответствующая запись, но нет записи в Б? что должно попасть в результат, если В А есть запись, соответсвующая Б, но у неё не выполняется условие? Что если в А вообще нет записи?
Телепат говорит, что нужен не full join, а left join и всё
SELECT * FROM A
LEFT JOIN B ON A.key = B.key
WHERE A.date = '33'
Алексей Сундуков, на план исполнения влияют не только индексы на ключи соединения, но и прочие условия. Да и при большом количестве джоинов тоже может быть грустно. При простом запросе без дополнительных условий и трех таблицах скорее всего один запрос будет чуть быстрее. При появлении условий, особенно на правые таблицы - не факт. Да еще и при "каскадном" джоине, когда а->b->c связь, а не a-> + a->c. В таком случае уже нужно смотреть замеры на реальных данных.
kamilqiyasov, ну тогда только QueryBuilder. Но на самом деле не так много. И часто большое количество джоинов обманывает оптимизатор и он выбирает неоптимальный план выполнения и один большой запрос дольше нескольких маленьких. Особенно если они в одном пакете и не теряется время на межпроцессное (и даже межсерверное) взаимодействие несколько раз на каждый запрос.
Denioo, подключайте компонент, в котором в хуке маунтед этот код после того, как все загрузится. До того, как все загрузится, показывайте другой компонент или ничего. C помощью v-if или <component :is="..."/>
А иначе зачем вам стор, если компонент один?
topuserman, Не надо передавать id в конструктор, надо туда передавать уже полученную сущность (строку БД, еще что). А то как тестировать будете? А вообще не надо изобретать ORM, пользуйтесь готовыми. Ну или если очень хочется, почитайте про фабричные методы, инверсию зависимостей и прочую теорию.
Это офигенное решение. На торг12 можно печатать шк для складской программи, который запкстит процесс сборки именно этой накладной, ну и выведет инфу по ней