如何仅收集来自相关 table 的电子邮件

how to collect only emails from related table

我想向客户发送电子邮件多个电子邮件 ID 我是这样的集体电子邮件数据

$emails = EmailClient::whereHas('client', function ($query) use($client){
                $query->where('id', $client->id);
            })->get();

现在我想在数组中添加收集的电子邮件

$mail = Mail::to([$emails->email])->send(new SendInvoice($client));

报错帮我解决

对于单个电子邮件,您可以使用 first 方法

 $emails = EmailClient::whereHas('client', function ($query) use($client){
       $query->where('id', $client->id);
 })->select("email")->first();

如果您想要来自 table 的所有电子邮件作为数组,则使用 pluck

$emails = EmailClient::whereHas('client', function ($query) use($client){
       $query->where('id', $client->id);
 })->pluck("email");

然后这样过关

$mail = Mail::to($emails)->send(new SendInvoice($client));