php - 在 Laravel 5.2 中将表单发送的参数传递给 Controller

标签 php mysql laravel controller

我是 Laravel 编程新手,现在我想用纯 PHP 从 2 个表(项目和图片)中删除我可以这样做:

从项目中删除项目:

$sql1 = delete * from projects where project_id = 1;

删除他的所有照片

$sql2 = delete * from pictures where project_id = 1;

我想在我的 route.php 中执行此操作,这是我的代码

Route::delete('/project/{project}', function (Project $project) {
    DB::table('pics')->where('projectId', '=', $project)->delete();
    $project -> delete();
    return redirect('/');
});

我可以删除项目但不能删除其图片吗?

我能做什么?

最佳答案

您正在使用类型提示:

... (Project $project) { ...

所以当你这样做时:

DB::table('pics')->where('projectId', '=', $project)->delete();

你实际上是在说“其中projectId等于这个对象”。

你有两个选择。 1)不使用类型提示:

Route::delete('/project/{project}', function ($project) {
    DB::table('pics')->where('projectId', '=', $project)->delete();
    $project -> delete();
    return redirect('/');
});

或者2)正确使用类型提示:

Route::delete('/project/{project}', function (Project $project) {
    DB::table('pics')->where('projectId', '=', $project->id)->delete();
    $project -> delete();
    return redirect('/');
});

关于php - 在 Laravel 5.2 中将表单发送的参数传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38904756/

相关文章:

php - 从查询返回用户对象数组

php - 如何从加载到 PHPExcel 的 Excel 文件中删除/删除图表(图表)、图片(图像)?

php - 多个 mysql 连接和正确的显示顺序

mysql - 关于 mysql 或其他 DBMS 中的外键约束

php - 如何从 Ninja Forms 获取数据以显示在前端?

mysql - 在没有主键的情况下检索每个组中的最后一条记录

mysql - 如何从mysql表中只删除唯一值

php - Laravel 打包 html 到 pdf

php - Laravel artisan 的无限递归

php - LARAVEL - 无法在 Controller 方法中调用函数