В моей текущей конфигурации электронное письмо пользователя хранится на удаленном сервере, который мне нужен, чтобы получить с помощью curl quest.Как кэшировать атрибуты модели в Laravel
К счастью, мне нужен адрес электронной почты один раз в день, когда выполняется определенный процесс. Однако, когда этот процесс выполняется, ему нужно будет указывать адрес электронной почты несколько раз.
Это текущий аксессуар, который я установил для email
. Проблема заключается в том, что запрос curl вызывается каждый раз, когда я использую $user->email
. Каков наилучший способ избежать этого?
в UserModel:
public function getEmailAttribute(){
$curl = new Curl;
$responseJson = $curl->post('https://www.dailycred.com/admin/api/user.json',array(
'client_id'=>getenv('dailycredId')
,'client_secret'=>getenv('dailycredSecret')
,'user_id'=>$this->id
));
$response = json_decode($responseJson);
return $response->email;
}
Этот процесс выполняется в одном запросе (выполняется) или по нескольким запросам? то есть вам нужно сохранить значение электронной почты только для продолжительности одиночного запроса или вы хотите сохранить постоянство, как кеш? –
@VeljaMatic один процесс. Мне не нужно упорствовать. Возможно, «кеш» было неправильным словом. –