• Как вывести ник автора поста, зная его id?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    $post->author->username, если у вас отношения в моделях нормально описаны.
    Ответ написан
    Комментировать
  • Почему перестал работать array_unique?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    А вся проблема в том, что ты не понимаешь, что делает "твой" код.
    И следовательно, не можешь его отлаживать.

    Это к вопросу о том, как легко и приятно быть программистом, когда код за тебя пишут другие.
    Ну вот оно тебе и прилетело в обраточку, это "приятно"

    Исходная задача алгоритмически примитивная
    И чтобы её не решить, надо совсем уж не годиться в программисты.

    Поэтому тебе надо сейчас либо собраться и решить задачу самостоятельно, продумав алгоритм и реализовав его простыми средствами - циклами и условными переходами. Без всяких красивых слов типа array_diff, array_filter и прочих. Потому что использовать синтаксический сахар можно только тогда, когда ты понимаешь, как он работает внутри. Если не понимаешь - то код надо писать руками, а не волшебными функциями.
    И после этого, понимая как работает твой код, ты сможешь заняться отладкой, запуская его, и выводя промежуточные результаты.
    Либо, если не выйдет, то продать компьютер и идти работать в макдональдс.

    А вот это вот как у тебя сейчас - "ой мне один добрый дядя написал кодик, но он ниработаит, давайте другой добрый дядя мне его починит" - это не будет работать. Два раза тебе помогут, но постоянно жить чужим трудом не получится. А "программист", который не умеет писать код сложнее уровня "вайл муэскуэль фетч эррей" никому не нужен.

    что такое array_filter? Это реализация примитивного цикла,
    foreach ($array as $key => $value) {
        if (!условие фильтра) {
            unset($array[$key]);
        }
    }

    что такое array_diff? Это реализация чуть более сложного алгоритма, когда мы перебираем первый массив, и смотрим, есть ли такой же элемент во втором. Если нет - то записываем это значение в третий.
    И так далее.
    Ответ написан
    1 комментарий
  • Стоит ли работать специалистом техподдержки в банке?

    hint000
    @hint000
    у админа три руки
    Рекомендую поработать там один год. Кое-какой полезный опыт это даст (в том числе soft skills поднимите), но долго засиживаться не стоит. Некоторые начинают уважительно относиться, увидев в резюме, что вы работали в банке. Не знаю почему (объективных причин вроде нет), но такие стереотипы имеют место. Так что поработайте. Возможно, вас выжмут, как лимон, но за один год не успеете сдохнуть, зато соберёте небольшую финансовую подушку для поиска другой работы.
    Ответ написан
    1 комментарий
  • Как перейти по ссылке передавая запрос POST через PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никак

    РНР не ходит по ссылкам. По ним ходит браузер.
    Попробуй научиться отличать одно от другого.
    Ответ написан
    Комментировать
  • Как реализуется вывод сообщения об отсутствии соединения?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    window.addEventListener('online', () => {
      // связь есть, скрыть уведомление
    });
    
    window.addEventListener('offline', () => {
      // связи нет, показать уведомление
    });
    Ответ написан
    2 комментария
  • Как правильно писать catch в php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Для того чтобы правильно писать catch, надо писать осмысленный код.

    А здесь мы наблюдаем очаровательный пример карго-культа.
    Узнав, что "толстый контроллер - это плохо, а сервисы - это хорошо", автор небрежным движением руки замел весь мусор под ковёр перенёс весь код из контроллера в "сервис". Ну а что? Контроллер худой, весь код в сервисе!
    Тот факт, что сама кривая структура проекта осталась, по сути, той же самой, нас не смущает.
    Как и то, что сервис вдруг начал выполнять функции НТТР контроллера и кидать почему-то НТТР исключения. Что с этими исключениями делать в случае, если тот же сервис будет вызван из консольной команды - загадка.

    Но самое забавное, что при всём при этом контроллер всё равно пытается выполнять работу модели. Казалось бы, какое отношение интерфейс для обслуживания НТТР запросов имеет к транзакциям в базе данных? А вот поди ж ты!

    Чтобы сделать этот код осмысленным, контроллеру всё-таки придется потрудиться, и выполнить какую-то работу самому, а не перекладывать на "сервис". А так же отдать модели то что ей принадлежит.

    В общем транзакцию перекинуть в createDefault. причём не напрямую, а ещё ниже - в слой для работы с БД. Стартовать транзакцию до валидации данных - это как бы *не совсем логично*, мягко говоря. И в итоге, как по волшебству, весь этот говнокод исчезнет как страшный сон.
    При этом в параметрах передавать не НТТР реквест чохом, а осмысленный набор параметров, вынутый предварительно из реквеста!
    В частности, если модель сама проверяет права доступа, то и передавать ид пользователя из авторизации.

    При этом модель не должна кидать НТТР исключения. Она должна кидать исключения бизнес-логики. Которые контроллер уже может ловить и транслировать в хттп. Но тут видимо уже сложнее, поскольку это ж ларавель судя по всему.

    В любом случае, уж catch (Exception $e)-у тут точно не место

    Но это если рассматривать твой конкретный случай.
    В общем же случае правильный код написал Илья.

    То есть внутри трая операции с БД и коммит.
    в кетче роллбэк и перевыброс исключения. Только ловить надо Throwable

    try {
      DB::beginTransaction();
      // запись в БД
      // запись в БД
      // запись в БД
      DB::commit();
    } catch (\Throwable $e) {
      DB::rollBack();
      throw $e;
    }
    Ответ написан
    2 комментария
  • С помощью чего сверстать эту часть тележки?

    smilingcheater
    @smilingcheater
    Внимательно прочитайте htmlbook.ru/css/border-radius и посмотрите на странице все примеры использования
    Ответ написан
    Комментировать
  • Какие преимущества у Elasticsearch в связке с MySQL перед самим MySQL?

    ElasticSearch сильно превосходит MySQL в плане качества полнотекстового поиска.
    Ответ написан
    Комментировать
  • Как правильно реализовать метод восстановления пароля по уникальному ключу?

    REZ1DENT3
    @REZ1DENT3
    web-developer
    В последнее время, делаем с помощью подписанных url.
    https://laravel.com/docs/8.x/urls#signed-urls

    use Illuminate\Support\Facades\URL;
    
    return URL::temporarySignedRoute(
        'unsubscribe', now()->addMinutes(30), ['user' => 1]
    );


    Можно настроить время жизни, указать нужного пользователя (и другие параметры) и не хранить данные в субд
    Ответ написан
    Комментировать
  • Почему нужно гуглить на английском?

    Объясните мне почему программист должен гуглить на английском?
    Вас кто-то заставляет? Не хотите — не гуглите. Возможные причины вы написали в вопросе.

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

    Adamos
    @Adamos
    Насколько я вижу, ваш вопрос в последнее время взялись активно порешать автоматически.
    Веб завален сайтами, представляющими собой корявый машинный перевод StackOverflow и других популярных англоязычных профессиональных сайтов.
    Понять, что они там напереводили, зачастую сложнее, чем просто прочесть оригинал.
    Ответ написан
    Комментировать
  • Как получить значение выбранного элемента select?

    @mikhailivanko
    Ответ написан
    Комментировать
  • Какие используете единицы измерения при верстке?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Какие используете единицы измерения при верстке?

    Подходящие!
    Для решения разных задач используются разные единицы измерения

    примеры

    1. Размер шрифта удобно писать в px, em и rem.
    Если он фиксированный, то это px.
    Если зависит от настроек пользователя, то rem. Для html задают font-size: 62.5%, для body font-size: 1.6rem в итоге для стандартных настроек получают изначальные 16px, но для удобства расчетов в этом случае 1rem=10px.
    Если размер шрифта зависит от размера шрифта родителя, то используют em, например, заголовок должен быть в 1.2 раза крупнее текста. h1{font-size: 1.2em}
    А может быть мне нужен адаптивный шрифт, чтобы на всех экранах слово занимало всю ширину, тогда vw vh

    2. Границы. Обычно толщина границ не зависит от шрифта или размеров блоков, значит, px
    border: 1px

    3. Блоки.
    У блоков могут быть разные зависимости.
    Например, четверть родителя -> проценты %
    Или фиксированная -> px
    Или зависит от ширины/высоты вьюпорта -> vw vh
    Или зависит от шрифта -> ch (Ширина символа 0 в шрифте текущего элемента.)

    4. Отступы.
    Могут зависеть от шрифта, могут быть % от ширины блока или фиксированными в px.

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    console.log(new Intl.NumberFormat().format(130000.3948));
    // "130 000,3948"
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    @ComodoHacker
    Ответьте, что если он не отстанет, то вы сами напишете на него заявление за вымогательство 22 000 р..
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    opium
    @opium
    Просто люблю качественно работать
    не очень понятно как он хочет писать заявление в полицию когда нет состава преступления
    в общем можете над ним посмеяться
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    @Kostik_1993
    Web Developer
    Если есть возможность подвердить согласие на сумму 60к изначально, можете пойти к нотариусу и подтвердить нотариально договор по переписке. Далее отпишите ему чтобы шел куда хочет, хочет в полицию, хочет пусть на член идет. Вы же в случае если он не оплатит податите на него в суд. Ничего вы ему думаю возвращать не должны. В полиции его тоже явно пошлют на член, так как во первых нет состава преступления и такие дела обычно решаются через суд, а во вторых инициатива садит на член инициатора и за мошенничество можно подтянуть его самого в таком случае. Вы работали в белую и выдали чек. Поэтому 17к точно ваши, убытков вы ему тоже никаких не сделали, так что правда на вашей стороне

    P.S> пока переписка еще есть если по ней можно идентифицировать заказчика так называемого, я бы сходил к нотариусу
    Ответ написан
    2 комментария
  • Фреймворки в веб-разработке?

    DevMan
    @DevMan
    а зачем столько производителей авто, а не одна Тойота?
    а зачем столько производителей молока?
    а зачем столько производителей туалетной бумаги?

    да потому что одним нравится одно, другим - другое.
    а один продукт на рынке - стагнация. доказано в разных отраслях, и не однократно.

    кстати, для фронта не так уж и много фреймворков в сравнении с бэком.
    Ответ написан
    1 комментарий