Size: a a a

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

2021 March 24

Е

Евгений in Laravel для начинающих
подскажите, есть аксессор
public function getSomeFieldAttribute($user=null){

 if( $user ){
   if( is_numeric($user) ){
     $user = User::find($user);
   }
 }else{
   if( Auth::check() ){
     $user = Auth::user();
   }
 }

 return $this->data['users'][$user->id]['some_field'] ?? null;
}
он вызывается так: $model->some_field;
по умолчанию берётся активный юзер.
А если вызвать так: $model->getSomeFieldAttribute($user->id)
т.е. нужно передать определённого юзера, не активного в данный момент,
это нормальная практика будет так вызывать аксессор?
источник

SC

Sergey Chizhik in Laravel для начинающих
Евгений
подскажите, есть аксессор
public function getSomeFieldAttribute($user=null){

 if( $user ){
   if( is_numeric($user) ){
     $user = User::find($user);
   }
 }else{
   if( Auth::check() ){
     $user = Auth::user();
   }
 }

 return $this->data['users'][$user->id]['some_field'] ?? null;
}
он вызывается так: $model->some_field;
по умолчанию берётся активный юзер.
А если вызвать так: $model->getSomeFieldAttribute($user->id)
т.е. нужно передать определённого юзера, не активного в данный момент,
это нормальная практика будет так вызывать аксессор?
Это какая-то дичь
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Alex Borisov
ну ошибки например неверный апи ключ
То есть на один запрос ключ верный, а на пятый неверный? )
источник

P

PSYTRGLES in Laravel для начинающих
Евгений
подскажите, есть аксессор
public function getSomeFieldAttribute($user=null){

 if( $user ){
   if( is_numeric($user) ){
     $user = User::find($user);
   }
 }else{
   if( Auth::check() ){
     $user = Auth::user();
   }
 }

 return $this->data['users'][$user->id]['some_field'] ?? null;
}
он вызывается так: $model->some_field;
по умолчанию берётся активный юзер.
А если вызвать так: $model->getSomeFieldAttribute($user->id)
т.е. нужно передать определённого юзера, не активного в данный момент,
это нормальная практика будет так вызывать аксессор?
жеесть
источник

AB

Alex Borisov in Laravel для начинающих
Виталий Шутов
То есть на один запрос ключ верный, а на пятый неверный? )
да
источник

AB

Alex Borisov in Laravel для начинающих
не по кд причем
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
Евгений
подскажите, есть аксессор
public function getSomeFieldAttribute($user=null){

 if( $user ){
   if( is_numeric($user) ){
     $user = User::find($user);
   }
 }else{
   if( Auth::check() ){
     $user = Auth::user();
   }
 }

 return $this->data['users'][$user->id]['some_field'] ?? null;
}
он вызывается так: $model->some_field;
по умолчанию берётся активный юзер.
А если вызвать так: $model->getSomeFieldAttribute($user->id)
т.е. нужно передать определённого юзера, не активного в данный момент,
это нормальная практика будет так вызывать аксессор?
нет
источник

AB

Alex Borisov in Laravel для начинающих
а как то плавающе
источник

Е

Евгений in Laravel для начинающих
а как правильно можешь подсказать пожалуйста?
источник

e

eldarda in Laravel для начинающих
метод прост мб а не аксессор
источник

Е

Евгений in Laravel для начинающих
т.е. чтобы вызвать аксессор с параметром
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
не нужно тебе это
источник

SC

Sergey Chizhik in Laravel для начинающих
Евгений
а как правильно можешь подсказать пожалуйста?
Сделай обычный метод
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Alex Borisov
а как то плавающе
Ну если в логику приложения заложен лимит, то до 5 запросов скажем не нужен ключ, а после пяти нужен, все просто
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
в акцесорах не должно быть практически никакой бизнес логики
источник

P

PSYTRGLES in Laravel для начинающих
Alex Borisov
короче, у лары ограничения есть?
throttle
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
и побочных эффектов
источник

SC

Sergey Chizhik in Laravel для начинающих
И кстати, совать в модель auth тоже хуёвая практика.
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
а у тебя и проверка на инстанс,
и поход в базу
и присвоение
источник

Е

Евгений in Laravel для начинающих
Sergey Chizhik
Сделай обычный метод
т.е. сделать новый метод с тем же самым кодом?
это как-бы дублировать будет код, или это нормально?
источник