laravel ->get() 没有正确返回关系

laravel ->get() not returning relations properly

我有一个在我的索引控制器中工作的条件查询,它应该 return eloquent 关系但并不总是 return 一个可访问的数组索引:

$customers = Customer::with('orders', 'regions')->orderBy('created_at', 'desc')->whereHas('regions', function($query)
    {
        $user_id = Auth::user()->id;
        $current_user = User::with('roles')->where('id', '=', $user_id)->latest()->first();
        $role_name = $current_user->roles[0]->name;
        if($role_name == 'admin_master'){$query->whereIn('region', array(11, 7));}
    }
    )->get(); 

问题是相关数组并不总是可访问的,例如 order[1] 并且在我 dd($customers);

时显示奇怪
#relations: array:5 [▼
    "orders" => Collection {#442 ▼
      #items: array:2 [▼
        0 => Order {#446 ▶}
        1 => Order {#447 …25}
      ]
    }

对于未来的用户,get 方法将结果作为集合获取。您可以在其上链接 toArray() 方法以将其转换为数组。

所以它会像 $query->get()->toArray()