Size: a a a

2018 October 15

AA

Ann Ali in Laravel UA
Заносить имена классов в бд - это плохо. Бд должна хранить только данные, и ничего не знать о коде. Случится, например, рефакторинг класс перенесут в другое место или вобще удалят - и апка перестанет работать. В ларе в полиформных связях можно и нужно указывать простые строковые соответствие через morphMap(). Не знаю почему spatie это не юзают
источник

ИС

Илья Сакович in Laravel UA
Ann Ali
Заносить имена классов в бд - это плохо. Бд должна хранить только данные, и ничего не знать о коде. Случится, например, рефакторинг класс перенесут в другое место или вобще удалят - и апка перестанет работать. В ларе в полиформных связях можно и нужно указывать простые строковые соответствие через morphMap(). Не знаю почему spatie это не юзают
Наверное оставляют такую возможность самому разработчику
источник

В

Вячеслав in Laravel UA
Именно, по другому ты полиморфную связь не реализуешь. Нужно будет записывать имя. Да, можно и нужно делать алиасы с помощью morphMap(). А не делают по умолчанию лишь потому что, модель может меняться и да, оставляют это на усмотрение разработчика.
источник

AA

Ann Ali in Laravel UA
Да, но в доке spatie об этом не говорят - просто встречаешься с этим по-умолчанию.
источник

ИС

Илья Сакович in Laravel UA
Зачем дублировать доку самой лары? :)
источник

AA

Ann Ali in Laravel UA
Потому, что полиморфные связи под капотом, и не делается самим разрабами) Но ладно - просто мне показался этот момент неочевидным
источник

В

Вячеслав in Laravel UA
@ali_annya У пользователя может быть только один тарифный план?
источник

AA

Ann Ali in Laravel UA
Да, 1-ин
источник

В

Вячеслав in Laravel UA
@ali_annya В общем я вижу такие варианты:
Вариант 1
1. Для модели Plan используешь трейт HasPermissions, что бы иметь возможность задавать разрешения конкретно для плана.
2. В модели User при подключении трейта HasRoles переименовываешь метод use HasRoles { hasPermissionTo as baseHasPermissionTo; }
3. Определяешь метод hasPermissionTo в модели User c следующим телом:
public function hasPermissionTo($permission, $guardName = null): bool
{
   return $this->baseHasPermissionTo($permission, $guardName) || $this->plan->hasPermissionTo($permission, $guardName);
}


Вариант 2
1. Для модели Plan используешь трейт HasPermissions, что бы иметь возможность задавать разрешения конкретно для плана. (идентично первому варианту)
2. Определяешь перехватчик в AuthServiceProvider:
$t
his->gate->before(function (Authorizable $user, string $ability) {
   try {
        $plan = $user->plan;

        if ($plan && method_exists($plan, 'hasPermissionTo')) {
           return $plan->hasPermissionTo($ability) ?: null;
        }
   } catch (PermissionDoesNotExist $e) {}
});

Об
а варианта позволяют использовать $user->can(‘permission’); как обычно.

P.S. Need to test 🙂
источник

РИ

Роман Игумнов in Laravel UA
Блин ребята что-то бился я с проблемой записи Img  Но нифига не получается. Все равно записывает tmp при создании
http://prntscr.com/l6bhoc
источник

ИС

Илья Сакович in Laravel UA
Роман Игумнов
Блин ребята что-то бился я с проблемой записи Img  Но нифига не получается. Все равно записывает tmp при создании
http://prntscr.com/l6bhoc
кинь код текстом
источник

РИ

Роман Игумнов in Laravel UA
Илья Сакович
кинь код текстом
Спасибо!
источник

РИ

Роман Игумнов in Laravel UA
Ребята кто занимается. Подскажите а сколько реально стоит сделать мини интернет магазин на ларе + верстка фреймворком типа Ulkit + админ часть заказы, страницы инфо, добавление меню, товары,категории ? На вскидку примерно 3 недели работы если.
источник

KB

Kostiantyn Bozhko in Laravel UA
Роман Игумнов
Ребята кто занимается. Подскажите а сколько реально стоит сделать мини интернет магазин на ларе + верстка фреймворком типа Ulkit + админ часть заказы, страницы инфо, добавление меню, товары,категории ? На вскидку примерно 3 недели работы если.
1. прикидываешь сколько часов потратишь на разработку
2. сходу умножаешь на 2 (получаешь более реальное количество часов)
3. полученное кол-во часов * твой почасовый рейт
4. ???
5. ЦЕНА ГОТОВА
источник

РИ

Роман Игумнов in Laravel UA
Спасибо
источник

AA

Ann Ali in Laravel UA
Вячеслав
@ali_annya В общем я вижу такие варианты:
Вариант 1
1. Для модели Plan используешь трейт HasPermissions, что бы иметь возможность задавать разрешения конкретно для плана.
2. В модели User при подключении трейта HasRoles переименовываешь метод use HasRoles { hasPermissionTo as baseHasPermissionTo; }
3. Определяешь метод hasPermissionTo в модели User c следующим телом:
public function hasPermissionTo($permission, $guardName = null): bool
{
   return $this->baseHasPermissionTo($permission, $guardName) || $this->plan->hasPermissionTo($permission, $guardName);
}


Вариант 2
1. Для модели Plan используешь трейт HasPermissions, что бы иметь возможность задавать разрешения конкретно для плана. (идентично первому варианту)
2. Определяешь перехватчик в AuthServiceProvider:
$t
his->gate->before(function (Authorizable $user, string $ability) {
   try {
        $plan = $user->plan;

        if ($plan && method_exists($plan, 'hasPermissionTo')) {
           return $plan->hasPermissionTo($ability) ?: null;
        }
   } catch (PermissionDoesNotExist $e) {}
});

Об
а варианта позволяют использовать $user->can(‘permission’); как обычно.

P.S. Need to test 🙂
@slava_razum спасибо большое за такое детальное описание. Завтра продолжу пилить систему и посмотрю, что больше подходит к моему случаю
источник

В

Вячеслав in Laravel UA
Ann Ali
@slava_razum спасибо большое за такое детальное описание. Завтра продолжу пилить систему и посмотрю, что больше подходит к моему случаю
You are welcome 😉
источник
2018 October 16

РИ

Роман Игумнов in Laravel UA
Ребята всем привет. У меня вопрос: а как сделать загрузку более 1го файла за один сеанс? Искал решения в интернете. Везде предлагаются пакеты, а мне хотелось бы стандартными методами. Т.е задача добавлять более 1го файла за 1 раз

<lable>Фото товара</lable>
{!! Form::file('img', null, ['class="uk-input uk-margin-small" ']) !!}
источник

OK

Oleg Khalin in Laravel UA
How To Upload Multiple Files in Laravel 5.4 - Laravel Daily
https://laraveldaily.com/upload-multiple-files-laravel-5-4/
источник

OK

Oleg Khalin in Laravel UA
Роман Игумнов
Ребята всем привет. У меня вопрос: а как сделать загрузку более 1го файла за один сеанс? Искал решения в интернете. Везде предлагаются пакеты, а мне хотелось бы стандартными методами. Т.е задача добавлять более 1го файла за 1 раз

<lable>Фото товара</lable>
{!! Form::file('img', null, ['class="uk-input uk-margin-small" ']) !!}
Пинг
источник