Laravel отправлять почту с несколькими значениями флажка - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь заполнить форму запроса, в которой клиент заполняет форму, затем отметьте значение в поле, после того как форма отправит мне электронное письмо со списком всей информации, выбранной клиентом, теперь проблема в том, что я хочу изменить это [ event_id, demand_id ] вместо id замените его на name эти два параметра id взяты из двух моих моделей, перечисленных ниже.

Model:
Event:[id,name]
Requirement:[id,name] 
* 1009 Контроллер *
public function store(Request $request)
    {



        $summary=[
            'name' => $request->fullname,
            'email' => $request->email,
            'company' => $request->company,
            'event' => $request->event_id,
            'requirement' => $request->requirement_id
        ];
        return $summary; 
       Mail::send('emails.contact-message',[
        ],function($mail) use($summary){

            $mail->from('myemail@gmail.com', 'tester');
            $mail->to('myemail@gmail.com')->subject('Contact Message');
        });
        return redirect()->back();


    }

Это результат моего запроса на возврат:

{"name":"myname","email":"myemail@gmail.com","company":"mycompany","event":["1","2"],"requirement":["1","2"]}

Как вы можете видеть, массив имеет значение 1 и 2, я хотел заменить его на имя, которое должно быть выведено [Свадьба, день рождения], извините за плохой английский, надеюсь, вы меня понимаете ..

1 Ответ

0 голосов
/ 21 января 2019

Ну, вам нужно вытащить name из ваших моделей.Следующее должно сделать трюк:

$events = App\Event::whereIn('id', $request->event_id)
    ->get()
    ->pluck('name')
    ->toArray();

$requirements = App\Requirement::whereIn('id', $request->requirement_id)
    ->get()
    ->pluck('name')
    ->toArray();

Очевидно, замените name в вышеприведенном примере на поле фактического имени в ваших моделях.Это только пример.

$events и $requirements оба будут массивом, содержащим имена, совпадающие с идентификаторами, указанными в вашем запросе.

Вам также необходимоизмените ваш массив $summary следующим образом:

$summary = [
    'name' => $request->fullname,
    'email' => $request->email,
    'company' => $request->company,
    'event' => $events
    'requirement' => $requirements
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...