Here's a screenshot that might explain the situation better:

Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
(Thanks in advance for your help with this. I'm sure I'm missing something very obvious.)
In a text field (email.body) in my database, I'm storing a simple bit of content:
Hi, {{ $user->first_name }}!
In my markdown email template, I'm calling this content like so:
{!! $email->body !!}
Unfortunately, the user's first name is not being resolved. Instead, I see the exact same text stored in the database, complete with curly braces:
Hi, {{ $user->first_name }}!
In other words, the curly braces aren't being processed at all. They're just being displayed like normal text.
I've tried escaping the curly braces in the db, like so:
Hi, @{{ $user->first_name }}!
But it has no effect. I simply see the exact same content in my mailer:
Hi, @{{ $user->first_name }}!
If I don't fetch the content from the database, and instead directly put Hi, {{ $user->first_name }}! in my mailer, then it does work. I see:
Hi, Justin!
Which is exactly what I would expect.
Any help would be greatly appreciated. Thank you!
I now realize that what I'm trying to do is essentially impossible. I'm trying to parse data after it's already been parsed. :D
Thanks again for your help, @jlrdw .
Please or to participate in this conversation.