在我的 laravel 專案中,我有模型 Promo,僅位于user_id列。我在這個模型中有 2 條記錄。我需要user_id從 Promo 模型中檢索 all 。
首先,我從模型中獲取所有 user_id:
$userList = Promo::get();
dd說我,我有 2 條記錄:

這個真實的結果,比我嘗試做的 foreach:
foreach ($userList as $userIds) {
$userIds = $userIds->user_id;
}
如果我使用var_dumpor dd,它總是向我顯示 1 個 user_id,但我在表中有 2 個 user_id。
哪里可能出錯?
uj5u.com熱心網友回復:
你$userIds每次都在覆寫。有一種更簡單的方法來獲取用戶 ID
$userIds = $userList->pluck('user_id')->all();
這將從您的 userList 集合中回傳一個 user_ids 陣列。
uj5u.com熱心網友回復:
您正在替換$userIds每次回圈計數的值,最終值是$userList. 您可以通過 2 種不同的方式進行操作:
用回圈:
$userList = Promo::get();
$userIds = [];
foreach ($userList as $user) {
$userIds[] = $user->user_id;
}
或使用Laravel 集合 pluck()(推薦):
$userIds = Promo::pluck('user_id');
uj5u.com熱心網友回復:
在您的代碼中,您將用戶 ID 分配給 $userIds 變數。它總是回傳一個值。試試這個,
$userIdsarray =[] ;
foreach ($userList as $userIds) {
$userIdsarray[] = $userIds->user_id;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476992.html
