Я пытаюсь использовать граватар в своем приложении.
У меня есть коллекция сотрудников. Не у всех есть фотография, поэтому я проверяю, передал ли avatar_type === gravatar действительный URL-адрес электронной почты, если таковой существует, поэтому я делаю все oop:
foreach ($employees as $employee) {
if($employee->avatar_type === 'gravatar') {
$employee->avatar_location = gravatar()->get($employee->email, ['size'=>80]);
}
}
Первый элемент коллекции thet не имеет фото и нуждается в граватаре выглядит следующим образом:
App\Models\Employee\Employee {#2898 ▼
...
#attributes: array:14 [▼
"firstname" => "Mary"
"lastname" => "Brown"
"email" => "mariabrown@yahoo.com"
"avatar_location" => null
"avatar_type" => "gravatar" // <- Here is the flag
]
Однако, даже если адрес электронной почты действителен ("email" => "mariabrown@yahoo.com"), я получаю следующую ошибку:
Creativeorange \ Gravatar \ Exceptions \ InvalidEmailException
Пожалуйста, укажите действительный адрес электронной почты
Я даже сделал тест и "dd" электронная почта внутри l oop и электронная почта там. Вот так:
foreach ($employees as $employee) {
dd($employee->email) //<- The email is here
if($employee->avatar_type === 'gravatar') {
$employee->avatar_location = gravatar()->get($employee->email, ['size'=>80]);
}
}
Что мне здесь не хватает. Почему неправильный адрес электронной почты?
Я использую Laravel 6.13
Пакет gravatar загружен, установлен и работает в других местах приложения (на странице профиля пользователя).