Php 在Laravel上使用href调用控制器
我试图用href调用控制器,但出现错误,我需要传递一个参数。 我是这样做的Php 在Laravel上使用href调用控制器,php,laravel,controller,Php,Laravel,Controller,我试图用href调用控制器,但出现错误,我需要传递一个参数。 我是这样做的 <a href="{{ link_to_action('StoriesController@destroy', $story->id) }}" class="delete"><i class="material-icons" title="Delete"></i></a> 错误:缺少路由所需的参数:stories.destroy->我可能错了
<a href="{{ link_to_action('StoriesController@destroy', $story->id) }}" class="delete"><i class="material-icons" title="Delete"></i></a>
错误:缺少路由所需的参数:stories.destroy->我可能错了,但在html中传递的是一个整数,但在控制器中,函数需要一个Story对象。只要将
Story-Story
更改为$id
就可以了
无论如何,如果没有实际的错误,就不能说得更多。我可能错了,但在html中,您传递的是一个整数,而在控制器中,函数需要一个故事对象。只要将
Story-Story
更改为$id
就可以了
无论如何,如果没有实际的错误,不能说得更多。您应该这样使用它:因为根据函数链接到动作的Lavel解释,第一个参数将是控制器函数路径,第二个是名称,第三个是所需参数的数组:
<a href="{{ link_to_action('StoriesController@destroy', 'destory',[$story->id]) }}" class="delete"><i class="material-icons" title="Delete"></i></a>
您也可以从获得帮助,您应该这样使用它:因为根据函数链接的Lavel解释,第一个参数是控制器函数路径,第二个是名称,第三个是所需参数的数组:
<a href="{{ link_to_action('StoriesController@destroy', 'destory',[$story->id]) }}" class="delete"><i class="material-icons" title="Delete"></i></a>
您还可以从链接到
帮助程序生成一个实际的HTML链接,这是一个
标记。所以你已经用错了
但是,您得到的错误可能与此无关
链接到路由的最佳方法是使用route()
helper:
<a href="{{ route('index.index', $yourParam) }}">link</a>
请注意,作为
键,它为该路线指定了一个名称。你也可以打电话
Route::get(...)->name('index.index')
这会产生相同的结果。帮助程序会生成一个实际的HTML链接,它是一个
标记。所以你已经用错了
但是,您得到的错误可能与此无关
链接到路由的最佳方法是使用route()
helper:
<a href="{{ route('index.index', $yourParam) }}">link</a>
请注意,作为
键,它为该路线指定了一个名称。你也可以打电话
Route::get(...)->name('index.index')
这会产生相同的结果。因为您接受
$story
作为模型对象,所以您不必使用story::find()
,而且您还没有在销毁方法中定义$id
,因此请将代码更改为:
public function destroy(Story $story)
{
$story->delete();
return redirect('/stories')->with('success', 'Historic Removed');
}
希望能有帮助
谢谢因为您接受了
$story
作为模型对象,所以您不必使用story::find()
,而且您还没有在销毁方法中定义$id
,因此请将代码更改为:
public function destroy(Story $story)
{
$story->delete();
return redirect('/stories')->with('success', 'Historic Removed');
}
希望能有帮助
谢谢“但我遇到了错误”什么错误?请将错误放在此处以便更好地理解,如edekk所说,您正在使用路由模型绑定,因此只需删除以下行:$story=story::find($id);因为你已经有了合适的故事。只需记住在路由文件中使用故事关键字“story”。您是否在刀片文件中尝试了
{{$story}
,然后选中dd($story)在控制器文件中编写>并检查该变量中包含的数据类型。“但我遇到了错误”什么错误?请将错误放在此处以便更好地理解,如edekk所说,您正在使用路由模型绑定,因此只需删除以下行:$story=story::find($id);因为你已经有了合适的故事。只需记住在路由文件中使用故事关键字“story”。您是否在刀片文件中尝试了{{$story}
,然后选中dd($story)在控制器文件中编写>并检查该变量中包含的数据类型。Laravel具有路由模型绑定,因此如果它是主键,则可以工作。事实上为true:)Laravel具有路由模型绑定,因此如果它是主键,则可以工作。事实上为true:)这肯定是我要做的。这肯定是我要做的。