我正在尝试填写客户填写表格的查询表,然后检查复选框的值,然后一旦他们提交表格,就会向我发送电子邮件,列出客户选择的所有信息,现在的问题是我要更改此[ event_id,requirement_id ]代替 id ,用 name 替换,这两个id参数来自下面列出的我的两个模型。
Model:
Event:[id,name]
Requirement:[id,name]
控制器:
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"]}
正如您所看到的,数组Event的值为1和2,我希望将其替换为名称输出,该字段的输出应为[Wedding,Birthday],对于英语不好,希望您能理解我,我感到抱歉。
答案 0 :(得分:2)
好吧,您需要从模型中提取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
都是一个数组,其中包含与您在请求中提供的ID匹配的名称。
您还需要如下更改$summary
数组:
$summary = [
'name' => $request->fullname,
'email' => $request->email,
'company' => $request->company,
'event' => $events
'requirement' => $requirements
];