Laravel foreach 检索用户 ID
Laravel foreach to retrive user IDs
在我的 laravel 项目中,我有模型 Promo,仅位于 user_id
列。
我在这个模型中有 2 条记录。
我需要从促销模型中检索所有 user_id
。
首先,我从模型中取出所有 user_id:
$userList = Promo::get();
dd
说我,我有2条记录:
这个真实的结果,比我尝试做的 foreach:
foreach ($userList as $userIds) {
$userIds = $userIds->user_id;
}
如果我使用 var_dump
或 dd
,它总是向我显示 1 user_id,但我在 table 中有 2 user_id。
哪里会出错?
您每次都在覆盖 $userIds
。有一个 easier way 来获取用户 ID
$userIds = $userList->pluck('user_id')->all();
这将从您的 userList 集合中 return 一个 user_ids 数组。
在您的代码中,您将用户 ID 分配给 $userIds 变量。它总是 returns 一个值。
试试这个,
$userIdsarray =[] ;
foreach ($userList as $userIds) {
$userIdsarray[] = $userIds->user_id;
}
每次循环计数时,您都在替换 $userIds
的值,最终值是 $userList
的最后一个值。
您可以通过两种不同的方式进行操作:
循环:
$userList = Promo::get();
$userIds = [];
foreach ($userList as $user) {
$userIds[] = $user->user_id;
}
或与Laravel collectionpluck()
(推荐):
$userIds = Promo::pluck('user_id');
在我的 laravel 项目中,我有模型 Promo,仅位于 user_id
列。
我在这个模型中有 2 条记录。
我需要从促销模型中检索所有 user_id
。
首先,我从模型中取出所有 user_id:
$userList = Promo::get();
dd
说我,我有2条记录:
这个真实的结果,比我尝试做的 foreach:
foreach ($userList as $userIds) {
$userIds = $userIds->user_id;
}
如果我使用 var_dump
或 dd
,它总是向我显示 1 user_id,但我在 table 中有 2 user_id。
哪里会出错?
您每次都在覆盖 $userIds
。有一个 easier way 来获取用户 ID
$userIds = $userList->pluck('user_id')->all();
这将从您的 userList 集合中 return 一个 user_ids 数组。
在您的代码中,您将用户 ID 分配给 $userIds 变量。它总是 returns 一个值。 试试这个,
$userIdsarray =[] ;
foreach ($userList as $userIds) {
$userIdsarray[] = $userIds->user_id;
}
每次循环计数时,您都在替换 $userIds
的值,最终值是 $userList
的最后一个值。
您可以通过两种不同的方式进行操作:
循环:
$userList = Promo::get();
$userIds = [];
foreach ($userList as $user) {
$userIds[] = $user->user_id;
}
或与Laravel collectionpluck()
(推荐):
$userIds = Promo::pluck('user_id');