Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么可以';我不能更改编辑功能的名称吗?_Php_Laravel - Fatal编程技术网

Php 为什么可以';我不能更改编辑功能的名称吗?

Php 为什么可以';我不能更改编辑功能的名称吗?,php,laravel,Php,Laravel,我的索引页上有一些帖子,每个帖子上都有一个编辑按钮。 问题是,我希望URL是匈牙利语,但每次我将函数名从edit更改为其他名称时,都会出现404错误 我用以下代码显示帖子: @foreach($posts as $post) <div class="card p-3"> <h3><a href="/elado/{{$post->id}}">{{$post->title}}</a></h3>

我的索引页上有一些帖子,每个帖子上都有一个编辑按钮。 问题是,我希望URL是匈牙利语,但每次我将函数名从edit更改为其他名称时,都会出现404错误

我用以下代码显示帖子:

@foreach($posts as $post)
     <div class="card p-3">
             <h3><a href="/elado/{{$post->id}}">{{$post->title}}</a></h3>
           <small>Feltöltve: {{$post->created_at}}</small>
         <h3><a href="/elado/{{$post->id}}/edit">Szerkesztés</a></h3> I TRY TO CHANGE /EDIT TO STH. ELSE HERE
     </div>
@endforeach
在web.php中,我已经

Route::resource('elado', 'PostsController');

因为您正在路由声明中使用
resource()
方法。默认情况下,将使用三种路由和控制方法

[
“创建”,
“商店”,
"秀",,
“编辑”,
“更新”,
"摧毁",,
]
如果要更改方法名称,请自行声明路由

Route::post('/change','PostsController@change');

因为您正在路由声明中使用
resource()
方法。默认情况下,将使用三种路由和控制方法

[
“创建”,
“商店”,
"秀",,
“编辑”,
“更新”,
"摧毁",,
]
如果要更改方法名称,请自行声明路由

Route::post('/change','PostsController@change');

您可以使用类似的except方法从资源路由中排除编辑方法,然后使用自定义编辑方法定义新路由,并放在资源路由之前:

Route::post('/elado/{id}', 'PostsController@sth');

Route::resource('elado', 'PostsController')->except([
        'edit'
    ]);

您可以使用类似的except方法从资源路由中排除edit方法,然后使用自定义编辑方法定义新路由,并将其置于资源路由之前:

Route::post('/elado/{id}', 'PostsController@sth');

Route::resource('elado', 'PostsController')->except([
        'edit'
    ]);

我已经试过了,但是
Route::post('/szerkeszt','PostsController@szerkeszt');
并将方法名称更改为“szerkeszt”不起作用。@O.Collins能否在问题中添加更大的路由文件块?您还可以运行命令
phpartisanroute:list
,检查路由声明是否正确。我必须将路由更改为完整的“url模式”,如下面的
route::get('elado/{elado}/szerkeszt','PostsController@szerkeszt');php-artisan-route:list
帮助我找到了这个,谢谢我已经试过了,但是
route::post('/szerkeszt','PostsController@szerkeszt');
并将方法名称更改为“szerkeszt”不起作用。@O.Collins能否在问题中添加更大的路由文件块?您还可以运行命令
phpartisanroute:list
,检查路由声明是否正确。我必须将路由更改为完整的“url模式”,如下面的
route::get('elado/{elado}/szerkeszt','PostsController@szerkeszt');
和不得不从post更改为get。但是,
php artisan route:list
帮助我找到了这个,谢谢