Laravel - 仅使用值设置数组

Laravel - set array just with values

我试图将一封电子邮件发送给多个电子邮件,所以我查询了我的用户表,但结果是一个包含无效键的数组 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');

});
$owners = DB::table('users')->where('active', 1)->where('userType', 1)->pluck('email')->toArray(); 

您可以使用 ->pluck(),像这样:

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

首先,您的查询生成器代码中的 where 条件不正确。 它必须像:

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

You can use pluck() to get the list in Laravel 5.

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

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

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

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

json_decode($owners);

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

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

此处 User 是您的型号名称