首页 > 解决方案 > 如何在 Laravel 中使用 vue、惯性将变量从视图传递到控制器

问题描述

我想将“CourseId”变量从页面视图传递到控制器以将其删除,但不知道为什么我无法访问该变量:

看法:

this.$inertia.get(this.route('applications.courseDelete', CourseId ))

路线:

Route::get('applications/courseDelete', [ApplicationsController::class, 'courseDelete'])->name('applications.courseDelete')->middleware('auth');

控制器:

public function courseDelete($courseId)
{        
   dd($courseId);
}

这将返回错误,“参数太少......”。我也尝试在这里添加模型,但返回一个空白数组。确定我在这里遗漏了一些非常明显的东西吗?

标签: laravelvue.jsinertiajs

解决方案


由于您没有提供调用 get 请求的方法,我猜您只需要执行类似的操作,因为您是从 data() 调用 CourseId。

this.$inertia.get(this.route('applications.courseDelete', this.CourseId ))

此外,您需要通过您的路线传递变量,所以也改变这个

Route::get('applications/courseDelete/{CourseId}', [ApplicationsController::class, 'courseDelete'])->name('applications.courseDelete')->middleware('auth');

推荐阅读