从 foreach 将值推入空数组
Push values into an empty array from foreach
我有一个从数据库中检索到的对象集合,输出为 [{"id":"5"},{"id":"76"},{"id":"33"} ].我希望输出为:[5, 76, 33].
我尝试使用下面的代码执行此操作,但没有成功。在 laravel.
工作
$UserNot = [2,3];
$allverified = array();
$verified = App\Models\User::whereNotIn('id', $UserNot)->select('id')->where('role', 'verified')->get()->take(5);
foreach ($verified as $veribadge) {
$king = $veribadge->id;
$allverified[] = $king;
}
您可以使用 pluck
直接从数据库执行此操作,而无需启动用户实例集合并循环它。
$UserNot = [2,3];
$allverified = App\Models\User::query()
->whereNotIn('id', $UserNot)
->where('role', 'verified')
->pluck('id')
->toArray();
我建议先使用命名空间:
use App\Models\User;
为了更简洁的编码,最好删除 $UserNot 并将相关代码直接放在查询中:
$verifiedUsers = User::query()
->whereNotIn('id', [2,3])
->where('role', 'verified')
->pluck('id')
->toArray();
我有一个从数据库中检索到的对象集合,输出为 [{"id":"5"},{"id":"76"},{"id":"33"} ].我希望输出为:[5, 76, 33].
我尝试使用下面的代码执行此操作,但没有成功。在 laravel.
工作$UserNot = [2,3];
$allverified = array();
$verified = App\Models\User::whereNotIn('id', $UserNot)->select('id')->where('role', 'verified')->get()->take(5);
foreach ($verified as $veribadge) {
$king = $veribadge->id;
$allverified[] = $king;
}
您可以使用 pluck
直接从数据库执行此操作,而无需启动用户实例集合并循环它。
$UserNot = [2,3];
$allverified = App\Models\User::query()
->whereNotIn('id', $UserNot)
->where('role', 'verified')
->pluck('id')
->toArray();
我建议先使用命名空间:
use App\Models\User;
为了更简洁的编码,最好删除 $UserNot 并将相关代码直接放在查询中:
$verifiedUsers = User::query()
->whereNotIn('id', [2,3])
->where('role', 'verified')
->pluck('id')
->toArray();