Я получаю ошибку Undefined property: stdClass::$email
Код в моем действии контроллера:
...
use App\Mail\WelcomeMail;
use Illuminate\Support\Facades\Mail;
public function approve($id){
$mail = DB::select('select pic_email from vendors where id = :id', ['id' => $id]);
$user = DB::select('select roc_no from vendors where id = :id', ['id' => $id]);
Mail::to($mail)->send(new WelcomeMail($user));
return redirect('/account/pending')->with('success', 'Account approved!');
}
В приложении \ Mail \ WelcomeMail.php:
class WelcomeMail extends Mailable
{
use Queueable, SerializesModels;
public $user;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($user)
{
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.welcome');
}
}
Я пишу код, следующий за руководством из https://www.5balloons.info/send-email-registration-laravel-authentication/
Я использую Mailtrap. Все учетные данные / конфигурации в .env являются правильными, так как работает встроенная функция сброса пароля Laravel. Так что не так с моим кодом?
Обновление: я собираюсь отследить ошибку и, возможно, от действия контроллера, которое является $mail = DB::select('select pic_email from vendors where id = :id', ['id' => $id]);
Я использую SQL, значение возвращается. Затем я попытался с помощью tinker значение $mail
возвращается в виде массива. Я думаю, что это проблема, которая вызывает сбой $mail
.
Как это исправить? Использование extract()
также ничего не дает.