Php 在Laravel上使用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">&#xE872;</i></a> 错误:缺少路由所需的参数:stories.destroy->我可能错了

我试图用href调用控制器,但出现错误,我需要传递一个参数。 我是这样做的

<a href="{{ link_to_action('StoriesController@destroy', $story->id) }}" class="delete"><i class="material-icons" title="Delete">&#xE872;</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">&#xE872;</i></a>


您也可以从

获得帮助,您应该这样使用它:因为根据函数链接的Lavel解释,第一个参数是控制器函数路径,第二个是名称,第三个是所需参数的数组:

<a href="{{ link_to_action('StoriesController@destroy', 'destory',[$story->id]) }}" class="delete"><i class="material-icons" title="Delete">&#xE872;</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:)这肯定是我要做的。这肯定是我要做的。