我認為來自 DB::get() 的資料是陣列。但是,控制臺說它不是陣列。
$fruitList = Food::where('id' => 300)->get(['id']);
shuffle($fruitList);
ErrorException: shuffle() 期望引數 1 是陣列,檔案中給出的物件
uj5u.com熱心網友回復:
的回傳值get()不是陣列。它是Laravel 陣列集合,您可以將其轉換為陣列或使用陣列集合的隨機播放:
$fruitList = Food::where('id' => 300)->get(['id'])->toArray();
shuffle($fruitList);
帶有陣列集合:
$fruitList = Food::where('id' => 300)->get(['id'])->shuffle();
uj5u.com熱心網友回復:
就像@A.seddighi 提到的那樣, usingget() or all()給你一個集合。當您使用 return 或 print 輸出它時,它可能看起來像一個陣列,但它是不同的。
可以對集合進行過濾、查詢等。例如
$fruitList->has('price')
等等
要獲得一個簡單地呼叫它的方法的陣列toArray(),您還可以使用flatMap(), mapWithKeys()etc. 確保遵循適合您的 laravel 版本的檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/485941.html
標籤:拉拉维尔
上一篇:如何搜索具有完全相同關系值的集合
