Size: a a a

Laravel для начинающих

2021 October 06

️V

️️️️️️️️️️Владимир V... in Laravel для начинающих
так я и не кешировал
источник

🥰A

🥰 Amiita in Laravel для начинающих
optimize:clear *
источник

AH

Andrey Helldar in Laravel для начинающих
Тем не менее, очисти
источник

️V

️️️️️️️️️️Владимир V... in Laravel для начинающих
сделал, понаблюдаю
источник

d

dev in Laravel для начинающих
А дебаг-панельку отдельно надо ставить? Я чет думал что она из коробки
источник

VB

Vladislav Bulgakov in Laravel для начинающих
Телескоп поставь а не это легаси
источник

?

? in Laravel для начинающих
У меня наверно детская проблема, но под вечер в упор не вижу почему выскакивает проблема

Может кто поможет)

Суть: хочу сделать внешний ключ по стринговому полю, получаю ошибку что так мол нельзя
БД: mysql

Миграция:
Schema::create('np_cities', function (Blueprint $table) {
           $table->string('ref', 191);
           $table->string('area_ref');
           $table->string('settlement_type')->nullable();
           $table->timestamps();
       });

       Schema::create('np_city_translations', function (Blueprint $table) {
           $table->string('np_city_ref', 191);
           $table->string('locale');
           $table->text('description');
           $table->text('area_description')->nullable();

           $table->foreign('np_city_ref')->references('ref')->on('np_cities');
       });
Ошибка:
  SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `np_city_translations` add constraint `np_city_translations_np_city_ref_foreign` foreign key (`np_city_ref`) references `np_cities` (`ref`))
источник

AH

Andrey Helldar in Laravel для начинающих
Вроде как в мускуле референсы только на целочисленные поля можно настраивать...
источник

ПК

Павел Кристалл... in Laravel для начинающих
по стрингу не сможешь
источник

?

? in Laravel для начинающих
Заработало, походу без праймери ки нельзя
Schema::create('np_cities', function (Blueprint $table) {
           $table->string('ref', 191)->primary();
           $table->string('area_ref');
           $table->string('settlement_type')->nullable();
           $table->timestamps();
       });

       Schema::create('np_city_translations', function (Blueprint $table) {
           $table->string('np_city_ref', 191);
           $table->string('locale');
           $table->text('description');
           $table->text('area_description')->nullable();

           $table->foreign('np_city_ref')->references('ref')->on('np_cities');
       });
источник

d

dev in Laravel для начинающих
А еще к вопросу о гейтах и ролях. Как сделать проверку гейта для не авторизированного пользователя? Например у меня есть метод логина, я в нем получил модель пользователя и хочу проверить может ли он залогиниться (я хочу чтобы логинились только админы, т.к. это админка).
источник

?

? in Laravel для начинающих
Создай таблицу админов и добавь нужный провайдер для этого в config/auth.php
источник

d

dev in Laravel для начинающих
Какой провайдер?
источник

?

? in Laravel для начинающих
Типа что-то такого, я не знаю как это правильно загуглить, в доке по быстрому не нашел
источник

d

dev in Laravel для начинающих
Чет не особо понятно. Я решил без отдельной таблицы. Просто сделал в модели юзеров поле role.
источник

?

? in Laravel для начинающих
Сделай тогда мидлвар, обозви его admin-auth. И там проверяй роль авторизированного пользователя
источник

d

dev in Laravel для начинающих
Кстати, как думаете, роль хранить как строку или число? С одной стороны число будет меньше места занимать и можно константу зафигачить для удобства в коде. Но с другой стороны если понадобится анализировать базу, то будешь путаться какие там числа за что отвечают... Строкой как-то нагляднее. Да и не сильно там экономия большая.
источник

?

? in Laravel для начинающих
Если нужно роли, то я бы еще делал таблицу с пермишеннами и крепил уже тогда пермишенны к роли.
источник

d

dev in Laravel для начинающих
Тогда можно было вообще тот же Спати брать и не париться. Я не особо понял зачем нужны пермишены если есть гейты.
источник

d

dev in Laravel для начинающих
Все равно непонятно :( Я никогда не писал миддлвари...
источник