OK ... Tôi đã tìm thấy câu trả lời.
trong
\ nhà cung cấp \ laravel \ framework \ src \ Illuminate \ Routing \ Router.php
public function resource($resource, $controller, array $options = array())
{
// If the resource name contains a slash, we will assume the developer wishes to
// register these resource routes with a prefix so we will set that up out of
// the box so they don't have to mess with it. Otherwise, we will continue.
if (str_contains($resource, '/'))
{
$this->prefixedResource($resource, $controller, $options);
return;
}
// We need to extract the base resource from the resource name. Nested resources
// are supported in the framework, but we need to know what name to use for a
// place-holder on the route wildcards, which should be the base resources.
$base = $this->getBaseResource($resource);
$defaults = $this->resourceDefaults;
foreach ($this->getResourceMethods($defaults, $options) as $method)
{
$this->{'addResource'.ucfirst($method)}($resource, $base, $controller);
}
}
protected function getResourceMethods($defaults, $options)
{
if (isset($options['only']))
{
return array_intersect($defaults, $options['only']);
}
elseif (isset($options['except']))
{
return array_diff($defaults, $options['except']);
}
return $defaults;
}
như bạn có thể thấy, nó chỉ chấp nhận duy nhất only
và except
đối số.
Nếu bạn muốn lưu trữ các kết quả tương tự trong route.php, nó có thể được thực hiện như sau
Route::group(array('before'=>'auth'), function() {
Route::resource('ticket', 'TicketController');
});
Hoặc bạn có thể sử dụng phương pháp() beforeFilter Kiểm Soát Tài Chính. '$ this-> beforeFilter ('auth', ['except' => 'destroy']);'. Kiểm tra nhận xét của Devon tại [liên kết này] (https://laracasts.com/index.php/discuss/channels/general-discussion/how-can-i-declare-a-before-filter-on-a-routeresource) –