我是 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/