Heim >PHP-Framework >Laravel >Einführung der neuen fehlenden Methode im Laravel8-Routing-Modul
unten vorgestellt, um das Laravel 8-Routenmodul vorzustellen. Ich hoffe, dass sie den Freunden, die sie benötigen, hilfreich sein wird!
Laravel Version 8.26.0 und höher verfügt über eine neuemissing()
-Methode im Routing-Modul. In der tatsächlichen Entwicklung verwenden wir häufig Routing-unsichtbare Bindungen, um die entsprechenden Daten automatisch zu finden Codieren Sie sich selbst im Controller. missing()
soll dieses Problem lösen.
Route::get('/users/{user:slug}', [UserController::class, 'show']) ->name('user.view') ->missing(function (Request $request) { return Redirect::route('user.index'); });Wenn bei der Anforderung von „missing.test/users/dalian“ die Daten mit Slug of Dalian nicht in der Benutzertabelle gefunden werden können, wird zur Startseite der Benutzerliste statt zu einer einheitlichen 404-Seite gesprungen.
Hinweis:
rrreee
Diese Methode ist nur für die unsichtbare Bindung von Routen gültig, wenn Sie beispielsweise die MethodefindOrFail
in einem Controller verwenden, auch wenn die angegebenen Daten nicht gefunden werden , wird die Methodemissing
nicht ausgelöst, sondern zu einer einheitlichen 404-Seite gesprungen.missing()
方法,我们在实际开发中,经常使用路由隐形绑定自动查找对应的数据,减少在 Controller 中自己编写代码。
在之前,如果模型没有查到对应的数据,会自动跳转到全局统一的 404 页面,不够灵活。而missing()
方法就是为了解决这个问题而来的。当请求 missing.test/users/dalian 时,如果在用户表中查不到 slug 为 dalian 的数据,会跳转到用户列表的首页,而不是统一的 404 页面。
注意:
该方法只适用于路由的隐形绑定才会有效,例如在 Controller 中使用findOrFail
方法,即使未查到指定的数据,也不会出发missing
Das obige ist der detaillierte Inhalt vonEinführung der neuen fehlenden Methode im Laravel8-Routing-Modul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!