我正行的列隨機種子數據庫,用雄辯:Laravel您請求1項,但只有0項可用
$physician = SelectOption::where('select_option_group_id', 1)->pluck('name')->random();
如果表在select_options存在數據它的工作原理。但是,如果它不存在,它會給出錯誤:
您請求了1項,但只有0項可用。
我想讓它爲空,如果它是空的。
我正行的列隨機種子數據庫,用雄辯:Laravel您請求1項,但只有0項可用
$physician = SelectOption::where('select_option_group_id', 1)->pluck('name')->random();
如果表在select_options存在數據它的工作原理。但是,如果它不存在,它會給出錯誤:
您請求了1項,但只有0項可用。
我想讓它爲空,如果它是空的。
檢查集合不爲空之前做random()
:
$collection = SelectOption::where('select_option_group_id', 1)->pluck('name');
if (!$collection->isEmpty()) {
$physician = $collection->random();
} else {
...
}
使用inRandomOrder()
代替:
$physician = SelectOption::where('select_option_group_id', 1)->inRandomOrder()->first();
$name = is_null($physician) ? 'No data available' : $physician->name;
那是因爲你從字面上試圖隨機不存在的結果。所有你需要做的就是用if語句進行驗證,要麼計數($醫師)> 0或空($醫生)或任何你想要的方法。 – abr