我有一個“門票”的random集合,使用收集實用程式方法從串列中選擇一個。“票”集合現在應該洗掉(或忘記)隨機選擇的票,以便我可以進一步處理該集合。使用該forget方法似乎沒有執行檔案中描述的操作或(更有可能我遺漏了一些東西)。
有人能發現我的代碼有什么問題嗎?
$tickets = Tickets::all();
$total_winners = 5;
$selected_tickets = $tickets->random($total_winners);
$jackpot_winner = $selected_tickets->random();
$selected_tickets->forget($jackpot_winner->id); // this line should remove the $jackpot_winner
當我列印第$selected_tickets3 行和第 5 行的內容時,它們具有完全相同的專案,包括$jackpot_winner.
uj5u.com熱心網友回復:
Forget 函式使用集合鍵而不是模型中的 id。要實作您想要的,您可以使用此方法:
$selected_tickets = $selected_tickets->except($jackpot_winner->id);
https://laravel.com/docs/8.x/collections#method-except
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/336394.html
下一篇:如何正確實作這個場景?
