簡體   English   中英

Laravel 在 if 語句中沒有調用 function

[英]Laravel not calling function inside if statement

在 laravel 8 我試圖將數據傳遞給視圖刀片模板。 這是我的代碼:

Route::get('/admin', function(){
    if (session()->has('username')) {
        return view('admin', ["privatecars"=>[privatecar::class, 'list'], "businesscars"=>[businesscar::class, 'list']]);
    } else {
        session()->flash('blocked', 'true');
        return redirect('');
    }
});

我認為它應該在[privatecar::class, 'list']內部調用 function 並返回結果,但它只返回Array ( [0] => App\Http\Controllers\privatecar [1] => list ) 我應該如何調用 function?

PS:我正在使用 laravel8

Route::get($param1, $param2) $param2的 $ param2是可調用的,但view($param1, $param2)的 param2 只接受key/value數組。 像這樣自己調用它們:

Route::get('/admin', function(){
    if (session()->has('username')) {
        $privatecars = (new privatecar())->list();
        $businesscars = (new businesscar())->list();
        return view('admin', ["privatecars" => $privatecars, "businesscars" => $businesscars]);
    } else {
        session()->flash('blocked', 'true');
        return redirect('');
    }
});

如果你的方法是 static 你可以嘗試做類似的事情

 ["privatecars"=>privatecar::list()]

別的

 ["privatecars"=>(new privatecar())->list()]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM