Задать вопрос
Ответы пользователя по тегу Laravel
  • Как лучше хранить данные при пошаговой регистрации?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Всем привет. Хочу сделать пошаговую регистрацию на сайте. Как бы это сделать правильнее?
    Нет рецепта для общего случая. Всегда есть нюансы, если вы делаете что-то чуть в сторону от классики.

    1. После каждого шага сохранять в БД? Много запросов бессмысленных
    Ого, много это сколько? И почему бессмысленных? Вы же осмысленные данные туда пишете?

    У кого, какое мнение? Где какие подводные камни/нюансы?
    Мнение: С таким описанием нихрена не посоветуешь. По конкретным шагам можно что-то обсуждать.
    В целом же: Если первый шаг позволяет ввести все данные необходимые для входа в аккаунт, то писать надо в бд, ну и соответственно выслать письмо с подтверждением. В бд можно писать так же стадию прохождения. Если остальные пункты не являются критическими для функционала, можно предлагать при следующем логине дозаполнить данные, основываясь на записанном номере стадии. Ну или просот сразу перекидывать на нужную фазу, если она является необходимой.
    Ответ написан
    Комментировать
  • Где лучше хранить переводы в мультиязычном сайте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Для лары есть пакеты с переводами уже готовые, если их функционал подходит, не вижу смысла строить свой велосипед.
    Если же нужно очень кастомное решение с администрированием на уровне админки, то бд будет более качественным решением, так как работа с поиском и сортировкой это больше про РБД, нежели про файлы.
    Ответ написан
    Комментировать
  • Как правильно сформировать такой запрос?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Проще всего рут комментарию давать парент_ид равный своему ид, тогда все становится элементарным - ордер по парент_ид, креатед_эт. При выводе просто проверять если парент = ид. А все коментарии которые ответы на ответы все равно писать как ответ на рут коментарий, так как они будут тупо по дате строиться, и разницы в принципе нет. Разве что вы хотите чтобы ветвление было бесконечным, тогда проще ввести рут_ид.
    Ответ написан
    Комментировать
  • Как сгрупировать запрос в Laravel?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Что-то типа:
    $a = Model::orderBy("id", 'desc')->limit(3);
    $b = Model::latest()->union($a)->get();
    Ответ написан
    Комментировать
  • Как получить компонент Laravel через AJAX?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    return (String) view('template.name');
    или
    $view=view('template.name');
    $view=$view->render();
    $responseData->responseSuccess($view);
    Ответ написан
    Комментировать
  • Как вывести в laravel count записей с одинаковым полем?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    каунт(*) as cnt + груп бай book_id + ордер бай cnt деск + лимит 5
    Ответ написан
    Комментировать
  • Как исправить ошибку на сервере?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Вангую что не настроен mod_rewrite. Соответственно все чпу превращаются в тыкву. Настраивайте апач через .хтакксесс файл.
    Ответ написан
    6 комментариев
  • SQL запрос, как избавится от массива в массиве?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    ->get() ->first()
    А вообще вопрос на уровне документации и легко ищется поисковиком, учитесь использовать источники.
    Ответ написан
    6 комментариев
  • Почему приходит пустой AJAX запрос из контроллера в Laravel?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    if($request->ajax()){
       echo $request->orderBy; // ретурн тут до жопы, кому ты его возвращаешь?
       exit(); // иначе дальше выполнение идет и как раз получаешь всю страницу.
    }

    Естественно надо проверить что условие выполняется, а $request->orderBy не пустой и содержит строку/жсон.
    Ответ написан
  • Как получить разницу двух полей таблицы Laravel?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    $result = Dok::selectRaw('(balance - revers) as results')->where('results', '>',  5000)->orderBy('results', 'desc')->get();
    Ответ написан
    Комментировать
  • Получение фото по токену Laravel + Vue?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) что в логах?
    2)
    echo file_get_contents($fileUrl);
    Во первых надо проверить что лежит в $fileUrl, во вторых - для этого используют readfile()
    Ответ написан
  • Как обосновать выбор стека технологий?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У меня чистый JS и PHP с фреймворком Laravel.
    Во первых - неизвестно сколько кода и какой функционал у вас в проекте. Естественно инструмент выбирают под задачу, а не наоборот.

    Если у вас на фронтенде нет огромного функционала по манипулированию ДОМ, это не СПА и нет смысла тянуть еще 10 библиотек ради 200 строчек кода - чистый жс лучший выбор. Плюсы - хорошо поддерживается, любой специалист среднего уровня может поддерживать, нет необходимости в дополнительных библиотеках, которые ведут к дополнительной зависимости от чужой кодовой базы, нет необходимости следить за последними изменениями в чужой библиотеке, не тянутся лишние файлы.

    На бэкенде - ларавел неплохо покрывает 90% типовых задач "искаропки", широкий выбор достаточно качественных модулей на любой чих, хорошее покрытие тестами, обширное комьюнити и качественная документация. Качество кода однозначно будет выше по сравнению с начинающим кодером, если использовать уже кем-то написанный и многократно протестированный код. Кроме того - имеет кодестайл, приучает к (относительно) качественному подходу в разработке...

    Что из этого применимо в вашем случае - хз, так как это больше общие слова, хотя и хорошо отражающие действительность.
    Ответ написан
    4 комментария
  • Как реализовать кнопку "Показать еще" для подгрузки фотографий на одной странице в цикле Laravel 8?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    VakaBaka, во первых без js подгрузка не получится в любом случае. Во вторых - как вариант без аякса - загружайте их в отдельные блоки по 30 штук, первый пусть будет визибл, остальные дисплей нон. По кнопке показываете следующий скрытый блок. Для небольшого количества фото норм, плюсом будет то что на бэкенде ничего менять не надо.
    Более правильным решением будет аякс, на кнопке должен быть дата атрибут текущей страницы, по клику он вызывает аякс загрузку элементов от "номер страницы*30" до "номер страницы*30+30" и меняем дата атрибут на "номер страницы+1".
    Ответ написан
    Комментировать
  • Существует ли какой-то общепризнанный подход к обработке ошибок в контексте API, где его можно посмотреть?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    User::find(100500)->someMethod();
    Постоянно приходится иметь дело с какими-то такими вещами, когда модель может быть не найдена, и оно либо весь стек вывалит если дебаг включен, либо краткое и емкое

    По идее просто обернуть трай-кэтч и отдать ошибку, НО! В данном случае, так как вы предполагаете "наличие пользователя или ошибка", правильнее использовать не find а get, тогда вывалится ексепшн про отсутствующий объект.
    Ответ написан
    3 комментария
  • Как настроить сервер и код на многочисленные одновременные запросы?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Чтобы не углубляться и не расписывать свою задачу со всеми деталями которые не имеют отношения к вопросу,
    Лучше бы вы задачу расписали, из вашего решения ни цель, ни проблема не видны. Вообще вопрос скорее всего возник из непонимания процесса работы в целом, что можно было бы решить 2 словами.

    Как реализовать так, чтобы пользователь не получал ошибку, а просто ждал ответа от сервера.
    Какой ответ? Нужно посчитать и отдать результат или достаточно чтобы ответ был "все ок"?

    В ходе исследования появились мысли, что Nginx подойдет для этой задачи лучше чем Apache.
    В целом - да, нжинкс быстрее и легче, но есть нюансы. Кроме того, гораздо важнее режим работы пыха, фпм - маст хэв. Но при вашей задаче имхо это вообще не важно.

    Можно ли на сервере с такими данными реализовать эту задачу чтобы сервер и СУБД не отваливались?
    Вообще не вижу проблем, Даже если 100 человек одновременно кликнет - особой беды не будет. Во первых, на каждого будет выделен отдельный трит пхп, во вторых - такие мелкие записи вообще ниачем, мускуль их может херачить сотнями в секунду.

    В целом: Решение с транзакциями вообще спорное, и не понятно зачем здесь воткнуто (интересно ваше решение - откудо оно и зачем? И в догонку - почему они так редко используются, а в вашем случае "очень нужны"?).

    Как можно это синтетически протестировать?
    apache jmeter или yandex tank.

    Вывод
    Скорее всего переживания ваши ниачем, но если вы по секрету расскажете нам что за уникальную вундервафлю вы строите, возможно ответ будет точнее и осмысленнее.
    Ответ написан
    3 комментария
  • Как вынести storage не потеряв производительность?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Сторэйж вынести отдельно и подмонтировать к обоим серверам как папку. Проще бэкапить, проще обслуживать, проще настраивать каждый серв под свои задачи. Ну и про разделение железа на более спецефичное под задачу не забываем.
    Ответ написан
    Комментировать
  • Как увеличить количество запросов в секунду Laravel (PHP)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Может пора включить кэширование?
    Ответ написан
  • Как вывести информацию на сайт?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Как в php отдать JSON ответ и после этого выполнить "долгий" скрипт?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Запускать консольно скрипт в бэкграунде. имхо бест чойс.
    2) Отдавать заголовок окончания соединения и делать дальше все что нужно, тоже норм вариант. Подробнее: линк
    3) Очереди - требует дополнительных телодвижений, и если можно решить вышеперечисленными нативными средствами имхо излишне геморно...
    Ответ написан
    Комментировать
  • Как сделать поиск записи в бд и отменить повторную отправку формы в бд Laravel 6?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) нет формы в вопросе, но не суть...
    2) юзайте POST вместо GET
    2.1) if ($_SERVER['REQUEST_METHOD'] === 'POST') {...
    2.2) header('location: /');

    Отдельным пунктом - не вставлять данные пришедшие от пользователя без обработки в запросы.

    UPD: $checkDB у вас вернет true (на самом деле непустой объект запроса) если пользователь уже есть, и вы ЕЩЕ РАЗ добавляете запись... Найс...
    Ответ написан
    Комментировать