FUTURICO
Доки курят и практика, для начала понять бы как всё устроено и как автозагрузка делается, пср-4 и тд
Dias
Что за автозагрузка
Dias
Думаете доки первым делом читать?
Artem
Ребьят, привет. В базе храню урл на картинку, находящуюся в storage. Как сделать, что бы каждый этот рул преобразовался в массив типа low, mid, big и при каждом запросе на получение картинки проверлось есть ли картинка в storage такого качества, если есть отдаем ссылку на её, если нету, обрезаем и отдаем ссылку
Artem
не совсем понятно где это лучше делать
Artem
или может вообще лучше при загрузке на сервер это делать а не при запросе ?
Oleksii
Здравствуйте, во время загрузки файла на сервер получаю ошибку 502 в логе апача (tail -f /var/log/apache2/error.log) [core:notice] [pid 4758] AH00052: child pid 9646 exit signal Segmentation fault (11) как получить подробности? писал gdb proc 4758 после backtrace но там не было чего-то похоже на ошибку.
Artem
думал при запросе потому, что всегда можно загрузить список картинок и потом сервер их порежет уже под нужные размеры при запросах этого изображения
Artem
может есть реализация, что бы посмотреть?
Ruslan
интересно. можно подробнее ?
Ну в таблице картинок создать колонки: id, original, low, big... Если размеры добавляться будут, то можно их и в отдельной таблице. Потом по id и размеру можно вытащить будет Image::find($id)[$size]
Artem
Ну в таблице картинок создать колонки: id, original, low, big... Если размеры добавляться будут, то можно их и в отдельной таблице. Потом по id и размеру можно вытащить будет Image::find($id)[$size]
Спасибо, хорошая идея. Буду пробовать переделать Как вообще правильней, обрезать картинку при загрузке на сервер или при выводе на страницу ?
Artem
или реализовать сразу оба варианта ? грузим на сервер, обрезаем, сохраняем. Когда выбираем, идет проверка, есть изображение или нет. Если нет, обрезаем, сохраняем, отдаем
Artem
Можно сразу просто проверку сделать. Чтобы лишние картинки не хранить
Storage::exists не сильно будет грузить, если использоваться будет раз 100 за один запрос ?
Ruslan
Storage::exists не сильно будет грузить, если использоваться будет раз 100 за один запрос ?
Не, поверять надо запись в базе, а не файл. А при создании файла добавлять запись в базу
Ruslan
Если так много, то лучше наверное создать сразу картинки
Artem
а если запись будет, но файл удалят через фтп ?
Artem
оставят только оригинальный
Ruslan
а если запись будет, но файл удалят через фтп ?
Грузить будет не сильно, проверки все делают
Artem
Грузить будет не сильно, проверки все делают
100 даже мало наверное. Выборка идет на 100 товаров у каждого картинка в 4 размерах, 1 оригинальный - значит 300 проверок на существование
Artem
может какой-то способ более правильный есть ?
Dmytro 🔱
Или это пакет использовать https://github.com/spatie/laravel-medialibrary
Vlad
Думаете доки первым делом читать?
Та ну. 2 бесплатных курса на ларакаста достаточно, что бы быть мидлом/синиором
Dias
в чем разница
Dias
DB::table ->where
Dias
Table:: where
Dias
и почему в доках ничего нет про второй вариант
Dias
Спасибо нашел.а 1 вариант это что?
Artem
Спасибо нашел.а 1 вариант это что?
второй основан на моделях и в основном все его используют, первый это прямое построение запроса
Dmitriy
Ну удачи таким сеньерам
Rick
А потом такие снимают видосики на ютуб
Ruslan
Спасибо нашел.а 1 вариант это что?
Это db query, просто запрос в базу данных, без затрагивания eloquent
Ruslan
Лол. И без практики?
Мне что то подсказывает, что это был сарказм )
SarcasmIO
https://laravel.com/docs/5.6/queries https://laravel.com/docs/5.6/eloquent
Artem
как получить только первую строку через belongsToMany в with запросе ?
SarcasmIO
ты к связи в моделе можешь применять всякие штуки для моделей
SarcasmIO
типо public function lastComments() { return $this->hasMany('App\Comment')->latest(); }
Artem
но тогда в with Работать не будет же
SarcasmIO
уверен?
SarcasmIO
Model::with('lastComments')
SarcasmIO
вроде должно, не могу проверить щас увы
Artem
у меня сейчас так
Artem
Artem
надо еще один, image, который получит только первый результат и вернет его не массивом с одним элементом а именно как first() вернул бы
SarcasmIO
не уверен, но можно сделать так public function latestImage() { return $this->images()->latest(); }
Artem
вернул то же, что и images()
SarcasmIO
ты с first пробовал, да?
Artem
естественно
SarcasmIO
в скоупы пробовал?
Artem
Artem
скоупы нет
Artem
но скоупы врятли что-то изменят
Daniil
ну ссылки
Daniil
полезно)
Sonder
ребята, я пишу диплом на ларавел и у меня возникло несколько вопросов. Для всех таблици делать ИД - id или там id_partners_person Для всех таблиц делать название name или partners_person_full_name ?)
Sonder
просто как правильнее будет?
SarcasmIO
в ларке AR а значит проперти в snake_case
SarcasmIO
и schema в базе тоже
SarcasmIO
а уже касательно названий, старайся что бы они были максимально выразительные
Илья
если таблица партнерс то не стоит называть поле партнерс_персон_....
Sonder
ну просто у меня будет таблица партнеры и таблица соглашения и эти таблицы будут иметь поля id, name или нужно просто писать для двух таблиц там id, name то есть в таблицах получается, что поля имеют одинаковое название или они должны отличаться partners_person_full_name для партнера и agreement_full_name для соглашения
SarcasmIO
тогда partner_id/agreement_id
Sonder
при создании сделки мы можем выбрать партнера
SarcasmIO
одна сделка может быть доступна многим партнерам?
Sonder
ну при создании соглашения можно выбрать партнера и этого партнера можно выбрать в различных сделках
SarcasmIO
иди обнови у себя в голове информацию касательно ER и laravel associate
Sonder
есть партнер 1 и в соглашении 1 - можно выбрать партнера 1 и в соглашении 2 - можно выбрать партнера 1
SarcasmIO
тогда partner_id/agreement_id
получается many 2 many
SarcasmIO
через доп pivot таблицу
SarcasmIO
или partners has many agreements agrements belongs to partner ?