Задать вопрос
  • Как сгенерировать фильтр для модели?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Посмотри в строну этого пакета https://github.com/asseco-voice/laravel-json-query... Позволяет на основу пришедших с фронта json-данных построить запрос.

    Список свойств получить просто.

    array_keys(Article::first()->getAttributes());

    Если для каждого поля заполнить данные в свойстве $casts то через метод getCasts() можно получать тип данных.

    Вот решение как получить список всех объявленных связей в модели https://gist.github.com/shanginn/aadddec758efb595b... Не тестировал. Но вообще такое можно и самому сделать через атрибуты, например, или рефлексию.
    Ответ написан
    Комментировать
  • Что учесть в начале создания веб-портала и перейти с начальной версии на продвинутую без потерь? Как выбрать разработчика, структуру и платформу?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Давай начнем с вопроса - чем твой портал будет отличаться от тех сайтов на WP который ты делал раньше сразу после запуска? Через Х лет в максимальной комплектации?

    А теперь кратко по твоим вопросам

    1) Делай ссылки в виде ЧПУ и их можно будет безболезненно реализовать на любом фреймворке. Но именно на фреймворке, если на какой-то cms со своей структурой страниц, то там могут быть проблемы и прийдеться устраивать танцы с бубнами и реврайтами.

    2) Как не смешно, но для начала подойдет Wordpress если своими силами или самопис на Laravel если есть бюджет на фрилансера. Статьи и админка под них на нем делается очень быстро и бюджетно. Ну и потом можно добавить любой функционал. За основу даже можно взять мой движок (секунда рекламы) https://github.com/yepbro/cookbook делаю для своего проекта.

    3) Отзывы, адекватность в общение, неготовность работы без тз, ежедневные отчеты о статусе работ, каждый день обновляемый демо-сервер.
    Ответ написан
    Комментировать
  • Как исправить панель стилей в dev tools?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Смотри свой скрин. Там три точки справа вверху. Там самая верхняя строка где написано "Закрепить сбоку" из иконок выбираешь вариант где панель снизу (третий по счету).
    Ответ написан
    Комментировать
  • Php не видит name из html. Уверен, что все верно написано. Что делать?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Ну видно же что человек только начал разбираться, что вы на него все набросились.

    PabloEscobar213, смотри, у тебя тут куча ошибок. Начнем с азов.

    1) Форма считается отправленной только после того как ты нажал кнопку типа submit и данные ушли на сервер (есть другие способы, но мы их сейчас трогать не будет). Кнопку, как вижу, ты уже добавил. Но теперь надо на нее кликнуть. что бы данные из формы ушли на сервер.

    2) Дальше. Вывод формы в браузер и обработка/отправка данных это разные действия. И они могут быть в разных файлах. Например если бы у тебя форма была в index.html, а отправлял ты ее в send.php, а потом делал бы редирект обратно на форму, то все было бы проще.

    Но ты сделал все в одном файле. Значит что? Значит в коде надо понимать когда именно ты отправляешь данные. Тебе про это выше писали. Сейчас ты видишь ошибки на этапе отображения формы, а не отправки. В коде надо проверять что суперглобальный массив $_POST не пустой или что ты отправляешь данные через метод POST.

    if ($_POST) {
      // Здесь пишешь код подключения к базе и отправке
    }
    Ответ написан
    5 комментариев
  • Как избежать создания папки .idea в PhpStorm?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Никак. Сперва создавай проект через vue-cli, потом уже добавляй его в PhpStorm. Плюс, если используешь git, не забудь добавить эту папку в .gitignore.
    Ответ написан
    1 комментарий
  • Зависит ли скорость записи в БД от количества в ней записей?

    yesbro
    @yesbro
    Думаю, помогаю думать
    1. Меняется/Зависит ли как-то скорость записи в таблицу БД от количества записей в таблице?


    При добавление записи в таблицу обновляются индексы (если они там есть), так что чем больше таблица тем медленнее будет запись (если в таблицы есть индексы кроме primery key). Это можно заметить если начать добавлять большое кол-во строк (построчно) в таблицу с индексами. Сперва добавление будет идти быстро, потом все медленнее и медленнее. Один из способов борьбы с этим - пакетное добавление.
    Ответ написан
    Комментировать
  • Возможен ли такой запрос в базу?

    yesbro
    @yesbro
    Думаю, помогаю думать
    \DB::table('review')
        ->selectRaw('evaluation, count(evaluation) as cnt')
        ->groupBy('evaluation')
        ->get()
        ->pluck('cnt', 'evaluation')
        ->toArray();


    Таблица точно review, а не reviews?
    Ответ написан
    4 комментария
  • Как бы вы сверстали такие блоки?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Двойной див для каждого блока. Во внешнем задаем фон который виден за границами закруглений, во внутреннем радиусу закруглений отдельно по углам и фон самого элемента. Вроде должно сработать.

    Ответ написан
    3 комментария
  • Как реализовать личные уведомления в Телеграм?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Для регистрации на сайте через тг ты используешь бота. Его же нужно будет использовать для отправки извещений. Вот нужный метод API https://core.telegram.org/bots/api#sendmessage

    Для отправки нужно знать chat_id, его нужно сохранять при регистрации для каждого пользователя. Если раньше этого не делалось, то надо тогда сделать сохранение при логине, так постепенно соберутся данные.

    Надо обязательно учесть, что пользователь может блокировать бота. Тогда сообщения ему не будут уходить и в коде будет ошибка. Надо это обрабатывать (как минимум использовать try catch).
    Ответ написан
    Комментировать
  • Как в laravel modules сделать отдельную папку public или через laravel mix привязывать файлы из папки assets?

    yesbro
    @yesbro
    Думаю, помогаю думать
    1) Для решения твоей проблемы можно использовать для каждого модуля свой шаблон (layout).

    2) Посмотри документацию https://laravelmodules.com/docs/v10/compiling-asse... Ты можешь собирать assets для каждого модуля отдельно.
    Ответ написан
    Комментировать
  • Как спроектировать базу данных для мультиязычного сайта?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Другие варианты есть.

    1) Переводы хранить в поле типа json. То есть будет одно поле name на таблицу. Дополнительные таблицы не нужны. Только не советую в шаблонах выводить данные из поля напрямую, что-то типа $name->ru. Лучше написать хелпер и выводить через него (или трейт для модели). В нем же тогда можно использовать замену из языка по умолчанию если для используемого сейчас языка нет перевода. Будет что-то типа t($name, 'ru')

    2) Из основной таблицы убираем все поля для которых нужны переводы в отдельную таблицу переводов для этой таблицы. У нее следующая структура. id, field_name, lang_name( или id), value. Придется писать много кода для реализации удобного сохранение/чтения используя текущую работу с моделями (или как они там в yii2 называются).

    По мне лучше первый вариант.
    Ответ написан
    Комментировать
  • Laravel 10. Как решить проблему с CORS при получении фотографий?

    yesbro
    @yesbro
    Думаю, помогаю думать
    1) Где текст CORS ошибки?

    2) Почему в роутах /images/tickets/{filename} а в примерах https://api.dev.site.ru/images/cat.jpg?

    images/tickets != images Этот урл вообще не должен обрабатываться твои контроллером (ImageController@showTicketImage).
    Ответ написан
  • Изменять пропорции аватара на стороне фронта или несколько размеров на стороне бэка?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Еще для ретина-экранов надо х2 размер картинок :)

    Есть три варианта. Что использовать зависит от того насколько надо оптимизировать расход трафика и нагрузка на сервера.

    1) Хранить самый большой размер аватарки (х2). Остальное уменьшать через размер на фронте. Быстро в разработке, просто, картинка закешируется у пользователя и больше не будет грузиться. Для небольших и многих средних проектов пойдет.

    2) Заранее на беке нагенировать все нужные размеры аватарок. Проблемы будут когда у тебя десятки тысяч пользователей, а дизайнер добавил новый размер аватарки или превьюшки.

    3) Сделать обработчик на стороне бека (что-то типа /preview/sdtnhs75k/100/80/product005.png), который из урл понимает какой нужен файл и какого размера. Смотрит есть ли файл с такими сторонами на диске. Если есть то отдает его, если нет, то генерирует и отдает. Для небольших проектов можно на том же языке, что и проект. Для больших как модуль к веб-серверу (nginx).

    Второй вариант лучше не использовать. Первый или третий выбирать в зависимости от размера проекта, требованиям по нагрузке, срокам разработки, размерю бюджета, желанию запрограммировать что-то новое.
    Ответ написан
    1 комментарий
  • Почему то резко перестал работать бот, проблемы с ssl сертификатами?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Да, проблема с сертификатом. Скорее всего закончился срок его действия. Как обновлять зависит от системы. Инструкций в интернете много.

    Что бы проверить в браузере зайдите по адресу ендпоинта бота, который принимает постбеки от внешних систем. В адресной строке браузера, слева, есть иконка, по клику на которую получишь полную информацию о сертификате.
    Ответ написан
  • Как в локализации указать в качестве ключа строку?

    yesbro
    @yesbro
    Думаю, помогаю думать
    {{ __("person.$credit->occupation->name") }} например так (замени одинарные кавычки на двойные. В одинарных подстановка значений из переменной не происходит.

    или так {{ __('person' . $credit->occupation->name) }}
    Ответ написан
    Комментировать
  • Как получить хэш md5(unix) из командной строки?

    yesbro
    @yesbro
    Думаю, помогаю думать
    echo -n "string" | md5sum | awk '{print $1}'

    https://askubuntu.com/questions/53846/how-to-get-t...

    UPDATE: тогда написать свой скрипт на питоне. Вот нашел https://passlib.readthedocs.io/en/stable/lib/passl...

    Просто md5_crypt уже жутко старая вещь.
    Ответ написан
  • Почему не открывается каталог на сервере VPS?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Настройки vps тут не причем. Тебе надо на сервере создать отдельный location для /blog/ в конфиге nginx и в нем прописать свои настройки для wordpress.
    Ответ написан
    2 комментария
  • Как выполнить скрипт из файла PHP перед редиректом или блокировкой через .htaccess?

    yesbro
    @yesbro
    Думаю, помогаю думать
    В такой формулировке никак. Если пользователь блокируется или редиректится на уровне Apache, то до php дело не дойдет.

    Попробуй создать правило в .htaccess по которому такой пользователь будет направлен на твой определенный php-файл, в нем сделаешь что надо, а потом в нем же сделаешь редирект.
    Ответ написан
  • Dadata - как получить ближайший город?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Тебе от дадата возвращается полная информация об выбранном объекте. Из него ты можешь получить информацию об области/крае и вывести ее/выбрать.

    https://dadata.ru/api/suggest/address/

    region_with_type - название области/края/региона

    А это уникальные ID которые можно использовать для группировки объявлений

    data.region_fias_id	ФИАС-код региона
    data.region_kladr_id	КЛАДР-код региона
    data.region_iso_code	ISO-код региона
    Ответ написан
    Комментировать