Задать вопрос
В детстве упал с дерева и потерял смекалку. Не прошел фейсконтроль на радио "Шансон". Накачал мышцы из интернета. Чемпион сборной Монголии по литрболу. КМС по рукопашному сексу. Опытный инженер по перекладыванию данных.
Контакты
Местоположение
Россия, Москва и Московская обл.

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (49)

Лучшие ответы пользователя

Все ответы (40)
  • Сидер не видит фабрику, хотя она есть. В чём может быть проблема?

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Я просто не понимаю откуда берётся Providers в пути автозагрузки
    модель расположена в нестандартном месте
    App\Providers\Models
    от этой модели вызывается метод factory который относится к трейту HasFactory, там вызывается куда передается неймспейс твоей модели и подставляется к шаблону для неймспейса фабрики

    Соответственно есть 2 пути решения:
    1) перенести модель по пути App\Models (переносишь файл, обновляешь неймспейс)
    2) объяснить laravel где искать класс:

    В GameFactory
    class GameFactory extends Factory
    {
        protected $model = \App\Providers\Models\Game::class;
    ...


    В app/Providers/AppServiceProvider.php
    public function boot(): void {
         // ...  
        Factory::guessFactoryNamesUsing(function(string $modelName) {
             return 'Database\\Factories\\' . class_basename($modelName) . 'Factory';
        });
    }
    Ответ написан
    2 комментария
  • Как решить проблемы c регистрацией посредников (Middleware) в Laravel 11 версии?

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Я развернул новый проект лары и скопировал туда твой код, все работает

    1. Проверь что путь файла CheckAdminMiddleware.php соответствует неймспейсу
    App\Http\Middleware

    2. Попробуй сбросить кэш
    php artisan cache:clear
    composer dump-autoload

    3. Если запускаешь проект в докере то убедись что изменения с локали ушли в контейнер

    UPD
    Не сразу обратил внимание что у меня не 11 лара, установилась Laravel 10

    В ларавель 11 больше нет App\Http\Kernel::class (ну наверное его можно притащить туда и какими-то костылями заставить работать, но речь не об этом)

    Все конфигурации теперь в bootstrap/app.php
    Добавь в bootstrap/app.php
    ->withMiddleware(function (Middleware $middleware) {
    ...
            $middleware->alias([
                'admin' => App\Http\Middleware\CheckAdminMiddleware::class
            ]);
        })


    https://laravel.com/docs/11.x/releases#structure
    Ответ написан
    5 комментариев
  • Почему не работает POST-запрос от React(+Redux) к PHP?

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Undefined array key "perem" on line 49


    $perem = $data['perem'];
    - вот тут у тебя нет в массиве data (а это переданный массив POST) нужной переменной.

    Пропиши
    var_dump($data);
    exit;

    перед
    $perem = $data['perem'];
    например и посмотри что там в принципе лежит (если будешь дергать из браузера то надо смотреть в разделе network response)

    UPD
    Не обратил внимание сразу, с фронта уходит

    Content-type: application/json


    PHP не умеет обрабатывать такое через суперглобальную переменную $_POST
    Поменяй либо получение данных с

    addTableNote($conn, $_POST);

    на
    $data = json_decode(file_get_contents('php://input'), true);
    addTableNote($conn, $data);


    либо с фронта отправляй как FormData
    Ответ написан
    2 комментария
  • Согласование числительного и существительного в С++ (1 пирожок, 2 пирожка...)?

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Зачем с этим страдать, почему нельзя сократить или использовать символьное обозначение?

    Но если очень хочется
    Число кончается на 2, 3, 4 и предпоследняя цифра не 1 - градуса
    Число кончается на 1 и предпоследняя цифра не 1 - градус
    В остальных случаях - градусов

    std::string getAngleRus(int number) {
        int lastDigit = number % 10;
        int secondLastDigit = (number / 10) % 10;
    
        if (secondLastDigit == 1) {
            return "градусов";
        }
        
        if (lastDigit == 1) {
            return "градус";
        } else if (lastDigit >= 2 && lastDigit <= 4) {
            return "градуса";
        }
    
        return "градусов";
    }
    Ответ написан
    Комментировать
  • Почему при нажатии на кнопку слайдера картинка пропадает js?

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Привет!

    Коммент выше решает твою проблему, а я с оффтопным моментом. Как-то странно что при движении влево переменная увеличивается, а при движении вправо уменьшается :D я бы поменял
    upBtn.addEventListener("click", () => {
      let index = cardIndex + 1;
      if (index >= cards.length) {
        index = 0;
      }
      show(index);
    });
    
    downBtn.addEventListener("click", () => { 
      let index = cardIndex - 1;
      if (index < 0) {
        index = cards.length - 1;
      }
      show(index);
    });
    Ответ написан
    1 комментарий