所以我有這個功能,它將被用作 1 作為工匠命令或 2 作為用戶可以使用的鏈接。這是功能:public function saveAll($whatLocation) { $userSaved = $this->saveUsersData(); $componentSaved = $this->saveComponentsData(); $issueSaved = $this->saveIssuesData(); $timelogSaved = $this->saveTimelogsData(); if($userSaved === 1 && $componentSaved === 1 && $timelogSaved === 1) { $this->allSaved = 1; } if($whatLocation != "artisanCommand") { return redirect()->back(); } else { return $this->allSaved; } }這個想法是,如果它來自我創建的工匠控制臺命令,我會傳遞“artisanCommand”,但如果它來自路由,它會拉取我的 api 數據并重定向到上一頁。這是問題所在:在網絡路由文件中,我現在不能調用具有參數的函數?Route::get('/pull-and-save-api-data', [App\Classes\SaveApiData::class, 'saveAll'])->name('pull-and-save-api-data');如果函數上沒有參數,這可以工作,但現在有參數就不行了?我試過了:Route::get('/pull-and-save-api-data', [App\Classes\SaveApiData::class, 'saveAll("notcommand")'])->name('pull-and-save-api-data');Route::get('/pull-and-save-api-data/{notcommand}', [App\Classes\SaveApiData::class, 'saveAll'])->name('pull-and-save-api-data');既不工作?
1 回答

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
由于您沒有從路由傳遞給它的值,因此您只需為該函數創建一個默認參數怎么樣?
public function saveAll($whatLocation = null)
我不會直接從這樣的路線調用你的方法;讓路由轉到控制器并讓該控制器與您需要的類/庫進行交互。
如果你真的必須從路由中傳遞一個值,你可以設置一個默認值:
Route::get('/pull-and-save-api-data', [App\Classes\SaveApiData::class, 'saveAll'])
->name('pull-and-save-api-data')
->defaults('whatLocation', 'notArtisan');
- 1 回答
- 0 關注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消