无法捕获所有参数

Trouble capturing all parameters

好的,我正在尝试做一个记录并发送一封电子邮件notification/acknowledgement记录已被记录。我在 Players 模型和 Lessonhours 模型之间存在多对多关系。 User 模型与 Players 模型具有一对多关系。 我对 运行 我的 'store' 方法进行了一些不同的修改,我终于收到了要发送的电子邮件。问题是我无法获取存在的玩家数组并向每个玩家发送电子邮件。我的表单中的多项选择已正确插入到各自的表格中。在收集电子邮件数据方面,我最接近以下代码。 THIS 的问题是,当他们存在时,我只会得到一名球员,而不是两名或更多球员。我希望这是有道理的。截图如下。

$request数组代码及截图:

玩家模型:

我对此不是很有经验,而且我发现很难确定要使用哪个文档示例。如何在插入记录后获取所有要发送的电子邮件地址?感谢所有提供的帮助。

课时模型:

存储课程表

用户模型

我不确定你为什么要将一个数组放在一个数组中用于 whereIn 子句,但如果请求玩家已经作为一个数组出现,那么你应该可以这样做:

whereIn('id', $request->players)

接下来你只会发送一封电子邮件,因为你是从循环内部 return 发送的,所以它将向第一个玩家发送一封电子邮件,然后 return 回复.要保存一个你不再使用的临时变量,你可以这样做:

Players::with('users')->whereIn('id', $request->players)->get()
    ->each(function ($player) use ($lesshours) {
        Mail::to($player->users)->send(new ThankYouForLessonPackagePurchase($lesshours));
    });

return back()->with(['success' => 'Player is enrolled in new Lesson Package.']);

您不必执行上述操作,这只是另一种编写方式。

最后,如果您总是需要发送玩家 ID,那么您不妨将其添加到验证数组中:

'players    => 'required',
'players.*' => 'exists:players,id',

希望对您有所帮助!