0

我正在尝试将一封电子邮件发送到多封电子邮件,因此我对我的用户表进行了查询,但结果是一个带有不起作用的键的数组mail->to()

我需要一个这样的数组:$owners = ['myoneemail@esomething.com', 'myother@esomething.com','myother2@esomething.com'];来自数据库。

我的查询:

$owners = DB::table('users')->select('email')->where('active', 1)->where('userType', 1)->get();

我也尝试使用->toArray(),但带有钥匙。

电子邮件:

Mail::send('email-view', $data, function($message) use ($data, $owners)
{
  $message->from('no-reply@email.pt' , 'FROM');
  $message->to($owners)->subject('subject');

});
4

4 回答 4

1
$owners = DB::table('users')->where('active', 1)->where('userType', 1)->pluck('email')->toArray(); 
于 2018-03-22T11:45:02.040 回答
1

您可以使用->pluck(),如下所示:

$owners = DB::table('users')->select('email')->where('active', 1)->where('userType', 1)->get();
$emailList = $owners->pluck('email');
于 2018-03-22T11:45:09.220 回答
0

首先,查询生成器代码中的 where 条件不合适。它必须是这样的:

$query->where([
    ['column_1', '=', 'value_1'],
    ['column_2', '<>', 'value_2'],
    [COLUMN, OPERATOR, VALUE],
    ...
])

你可以pluck()在 Laravel 5 中使用来获取列表。

所有集合也用作迭代器,允许您循环它们,就好像它们是简单的 PHP 数组一样:

    foreach ($owners as $owner) {
        echo $owner->filed_name;
        echo $owner->filed_name;
        ...
    }

在使用 PHP 框架时使用核心 PHP 代码没有任何限制。您可以参考官方PHP Arrays Manual页面来使用语言结构。

如果需要将 JSON 转换为数组,请使用:

json_decode($owners);

于 2018-03-22T11:51:54.690 回答
0
$owners = DB::table('users')->where('active', 1)->where('userType', 1)->pluck('email');

或者

    $owners = User::where('active', 1)->where('userType', 1)->pluck('email');

这里用户是你的型号名称

于 2018-03-22T11:54:56.977 回答