无法弄清楚为什么我会收到此错误?我正在使用posgres,感觉好像缺少一些重要的链接来解决整个问题? 基本上,我需要将评论链接到ID为
的博客文章SQLSTATE [22P02]:无效的文本表示形式:7错误:无效的输入 整数的语法:“ {blog}”(SQL:从“博客”中选择*,其中“ id” = {blog}限制1)
评论控制器
use App\Blog;
use App\Comment;
class CommentsController extends Controller
{
// add store method
public function store(Blog $blog)
{
Comment::create([
'body'=> request('body'),
'blog_id' => $blog->id
]);
return back();
}
}
web.php
Route::post('blog/{blog}/comments', 'CommentsController@store');
带请求的表格标题:
<form method="POST" action="/blog/{blog}/comments">
答案 0 :(得分:3)
现在,action="/blog/{blog}/comments">
将仅返回/blog/{blog}/comments
作为操作,因为{blog}
未被Blade解析。
为您的路线命名:
Route::post('blog/{blog}/comments', 'CommentsController@store')->name('blogcomments');
在您的<form>
中,将操作设置为指定的路线(博客评论),并为其指定当前的$blog
作为参数:
<form method="POST" action="{{ route('blogcomments', ['blog' => $blog] }}">
在https://laravel.com/docs/5.7/routing#named-routes上了解有关命名路由和参数的更多信息
未经测试! ;)