【发布时间】:2018-07-11 03:37:26
【问题描述】:
我有一个在我的索引控制器中工作的条件查询,它应该返回雄辩的关系,但并不总是返回可访问的数组索引:
$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}
]
}
【问题讨论】:
-
尝试
first而不是get。get返回一个集合。 -
我需要一个集合来返回所有客户,而不仅仅是我索引中的一个
-
那就试试这个
get()->toArray()。 -
成功了,你能把答案作为答案,我可以标记为正确
标签: arrays laravel eloquent conditional