измените формат адреса электронной почты пользователя только в разделе выбрать

#mysql #laravel #eloquent #laravel-7

#mysql #laravel #красноречивый #ларавель-7

Вопрос:

У меня есть запрос, подобный этому:

 select c.order_id,sum(c.final_for_referraler) as sum,u.email 
from exchaino_app.commissions as c
left join exchaino_app.orders as o on c.order_id = o.id
left join exchaino_app.users as u on c.order_user_id = u.id
group by c.order_id,c.order_user_id;
  

Он возвращает ответ, подобный этому :

 order_id      sum      email
1             10      john@gmail.com
2             11      johnesmit@gmail.com
  

Я хочу заменить адрес электронной почты некоторым *
это должно быть возвращено следующим образом:

 jo**@gmail.com
jo******@gmail.com
  

на стороне запроса или laravel без foreach.

Комментарии:

1. используете ли вы необработанный запрос в своем laravel?

2. Я бы сделал это в коде приложения после получения открытого текста электронной почты.

3. @sta Это не имеет значения, я могу его использовать.

4. @HamidNaghipour тогда я предлагаю вам использовать str_replace() или preg_replace() на blade, если вы не используете ответ API

5. @sta спасибо. У меня нет блейд-файла, и он мне нужен в ответе API.

Ответ №1:

Взгляните на функцию mysql regexp_replace. Я думаю, вы могли бы использовать это в запросе, чтобы перехватить шаблон адреса электронной почты.

https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace