有沒有辦法從表中獲取隨機行并向所有用戶顯示同一行?我知道我可以使用 random() 方法來獲取行,但如何向所有用戶顯示同一行。這是我的控制器:-<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use Illuminate\Database\Query\Builder::inRandomOrder;use App\Nothingness;class NothingnessController extends Controller{ public function randomQuestion() { $seed = Carbon::now()->toISOString(); Nothingness::inRandomOrder($seed)->first(); return view('home', compact('seed')); }}這是一個新的 Laravel 項目
1 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
使用Illuminate\Database\Query\Builder::inRandomOrder
方法并為其提供種子。
該方法是通過 __call 魔術方法在 Eloquent 模型中實現的。
種子可確保同一種子的結果排序相同。
以下是一個查詢,其中每個在同一分鐘查看的人都會看到相同的記錄。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use App\Nothingness;
class NothingnessController extends Controller
{
? ? public function randomQuestion()
? ? {
? ? ? ? $seed = Carbon::now()->format('Y-m-d H:i');
? ? ? ? $randomNothing = Nothingness::inRandomOrder($seed)->first();
? ? ? ? return view('home', compact('randomNothing'));
? ? }
}
您也可以從外部來源獲得種子。
- 1 回答
- 0 關注
- 116 瀏覽
添加回答
舉報
0/150
提交
取消