Size: a a a

2020 September 11

BB

Buy Bitcoin in Laravel Pro
Павел Г.
Вроде нова неп оддерживает новую лару еще. Или у вас стоит в композере версия новы, которая не подерживает 8.
Nova у меня v3.6
источник

ПГ

Павел Г. in Laravel Pro
Buy Bitcoin
Nova у меня v3.6
Я чисто по логам смотрю. Чет не могу найти ее на packagist
источник

BB

Buy Bitcoin in Laravel Pro
Павел Г.
Я чисто по логам смотрю. Чет не могу найти ее на packagist
ну нова врятли будет на pakagist т.к. она платаная
источник

ПГ

Павел Г. in Laravel Pro
Buy Bitcoin
ну нова врятли будет на pakagist т.к. она платаная
источник

BB

Buy Bitcoin in Laravel Pro
оу, спасибо
источник

D

DK in Laravel Pro
источник

IT

Igor Tarasov in Laravel Pro
А это точно нормально вот так? Написать-то я написал, но мне самому очень тяжело прочесть написанное.  Меня упорно тянет взять голый SQL.
Можно привыкнуть к этим where(function ($query) ? И ведь это относительно простой SQL. А если бы сложнее был, там же вообще из-за этих where function будет не видно, что написано.
         
// created_by=auth_id OR (searchable AND (share_to IS NULL OR share_to RLIKE '[[:<:]]email[[:>:]]' OR share_ro RLIKE '[[:<:]]@domain[[:>:]]'))
       if($request->user()->id)
        $docs = $docs->where(
           function ($query) use ($request) {
                       $query->where('created_by', $request->user()->id)
                             ->orWhere(
               function ($q) use ($request) {
                          $q->where('searchable', true)
                            ->where(
                   function ($q2) use ($request) {
                          $q2->whereNull('share_to')
                             ->orWhere('share_to', 'RLIKE', '[[:<:]]' . $request->user()->email . '[[:>:]]')
                             ->orWhere('share_to', 'RLIKE', '[[:<:]]' . strrchr($request->user()->email, '@') . '[[:>:]]');
                   });
               });          
           });
источник

s

s4b0t in Laravel Pro
Igor Tarasov
А это точно нормально вот так? Написать-то я написал, но мне самому очень тяжело прочесть написанное.  Меня упорно тянет взять голый SQL.
Можно привыкнуть к этим where(function ($query) ? И ведь это относительно простой SQL. А если бы сложнее был, там же вообще из-за этих where function будет не видно, что написано.
         
// created_by=auth_id OR (searchable AND (share_to IS NULL OR share_to RLIKE '[[:<:]]email[[:>:]]' OR share_ro RLIKE '[[:<:]]@domain[[:>:]]'))
       if($request->user()->id)
        $docs = $docs->where(
           function ($query) use ($request) {
                       $query->where('created_by', $request->user()->id)
                             ->orWhere(
               function ($q) use ($request) {
                          $q->where('searchable', true)
                            ->where(
                   function ($q2) use ($request) {
                          $q2->whereNull('share_to')
                             ->orWhere('share_to', 'RLIKE', '[[:<:]]' . $request->user()->email . '[[:>:]]')
                             ->orWhere('share_to', 'RLIKE', '[[:<:]]' . strrchr($request->user()->email, '@') . '[[:>:]]');
                   });
               });          
           });
вытащить переменную из реквеста.
вынести проверку на существование id выше запроса
источник

BB

Buy Bitcoin in Laravel Pro
всё таки я не обратил внимание, оказывается уже у нас обновили в репо nova до 3,9.1,
источник

IT

Igor Tarasov in Laravel Pro
s4b0t
вытащить переменную из реквеста.
вынести проверку на существование id выше запроса
Какую переменную?
if($request->user()) — это я уже поправил.
источник

s

s4b0t in Laravel Pro
Igor Tarasov
Какую переменную?
if($request->user()) — это я уже поправил.
Хотябы пользователя из реквеста достать, читаться лучше будет.
Можно какуюто часть условий вынести в скоуп.
https://laravel.com/docs/7.x/queries#conditional-clauses
Ну и самое главное чтобы это не в контроллере лежало )
источник

AO

Alexander Osipov in Laravel Pro
Гайз, подскажите, впервые сталкиваюсь с такой хуйней в проекте. Пришел в проект, все довольно интересно, пока не залез в роуты.
Как объяснить упертому человеку, что подход генерации роутов по условиям плох?

Т.е. такой:

if ($user->hasRole(‘admin’)) {
 Route::get(‘/orders’, ‘Admin\OrderController@index’);
}

If ($user->hasRole(‘courier’)) {
 Route::get(‘/orders’, ‘Courier\OrderController@index’);
}

If ($user->hasRole(‘client’)) {
 Route::get(‘/orders’, ‘Client\OrderController@index’);
}


Я назвал, как минимум, причину того, что нам надо давать роль клиентам и надо будет лезть в БД на каждую регистрацию, но это особо не остановило тимлида. Хочется ваше мнение услышать. Как работает кэширование роутов в ларе при таком подходе? Какие еще очевидные минусы я упускаю?
источник

EG

Egor Gruzdev in Laravel Pro
Alexander Osipov
Гайз, подскажите, впервые сталкиваюсь с такой хуйней в проекте. Пришел в проект, все довольно интересно, пока не залез в роуты.
Как объяснить упертому человеку, что подход генерации роутов по условиям плох?

Т.е. такой:

if ($user->hasRole(‘admin’)) {
 Route::get(‘/orders’, ‘Admin\OrderController@index’);
}

If ($user->hasRole(‘courier’)) {
 Route::get(‘/orders’, ‘Courier\OrderController@index’);
}

If ($user->hasRole(‘client’)) {
 Route::get(‘/orders’, ‘Client\OrderController@index’);
}


Я назвал, как минимум, причину того, что нам надо давать роль клиентам и надо будет лезть в БД на каждую регистрацию, но это особо не остановило тимлида. Хочется ваше мнение услышать. Как работает кэширование роутов в ларе при таком подходе? Какие еще очевидные минусы я упускаю?
как минимум $user всегда null при регистрации маршрута
источник

AO

Alexander Osipov in Laravel Pro
Egor Gruzdev
как минимум $user всегда null при регистрации маршрута
В начале api.php идет $user = auth('jwt')->user();
источник

AO

Alexander Osipov in Laravel Pro
Т.е. вроде юзер там есть
источник

P

PSYTRGLES in Laravel Pro
из консоли не будет
источник

P

PSYTRGLES in Laravel Pro
route:cache и посмотрите что он кэширует (bootstrap/cache/), там коллекция маршрутов, а не php код
источник

P

PSYTRGLES in Laravel Pro
еще как аргумент, это не laravel-way. В роутах никакой логики не должно быть, для этого есть миддлвары, гейты и политики
источник

YK

Yuri Kalnin in Laravel Pro
Парни, а реально ли laravel nova воткнуть в сущесвующий проект? И можно ли там как то приспособить существующие модели и т.д?
источник

4

4unkur in Laravel Pro
Yuri Kalnin
Парни, а реально ли laravel nova воткнуть в сущесвующий проект? И можно ли там как то приспособить существующие модели и т.д?
источник