我使用一个名为$ users的变量" pluck"只使用来自我的用户表的电子邮件,使用:
$users = user::all()->pluck('email');
当我dd($ users)时,我得到了这个
<pre>
Collection {#214 ▼
#items: array:8 [▼
0 => "adminone@example.com"
1 => "admintwo@example.com"
2 => "Adobot@example.com"
3 => "Lawly@example.com"
4 => "Cerms@example.com"
5 => "Charlie@example.com"
6 => "test@example.com"
7 => "test001@example.com"
]
}
</pre>
意味着$ users不仅仅是一个数组,当我将它视为数组时会遇到各种类型的错误。
我的问题是,在php(在Laravel框架中)如何从上面的变量中删除特定用户的电子邮件?或者有更好的方式使用&#34;采摘&#34;所以它返回一个数组?
提前感谢。
答案 0 :(得分:0)
这里$users
是一个Std类对象,您可以迭代它并将其属性推送到如下数组:
$userDetails = array();
foreach($users as $user)
{
$userDetails[] = (array)$user;
// or
$userDetails[] = $user->index;
}
您还可以在If
内放置一个foreach()
块来检查某些情况。
答案 1 :(得分:0)
如果您要删除电子邮件ID为索引为0的电子邮件,请先按照以下查询
$users = user::all()->pluck('email');
unset($users['0']);
$dd($users);
答案 2 :(得分:0)
您可能希望使用->forget()
$collection->forget($key);
或者您可以使用reject方法
$newColection = $collection->reject(function($element) {
return $element === 'emailaddress@';
});
答案 3 :(得分:0)
我也有这个问题,我解决了这个问题:
DB::table('user')->pluck('email')->all();