Php Laravel表单文本未上载到数据库
我正在尝试为博客上的帖子创建一个评论系统。我创建了一个上传评论的表单。表中正确填充了user_id和post_id列,但是,在输入文本并提交时,body列为空。我定义了一种关系,一篇帖子有很多评论。此外,我还定义了一个用户有许多注释。这是我的密码:Php Laravel表单文本未上载到数据库,php,mysql,laravel,laravel-4,blade,Php,Mysql,Laravel,Laravel 4,Blade,我正在尝试为博客上的帖子创建一个评论系统。我创建了一个上传评论的表单。表中正确填充了user_id和post_id列,但是,在输入文本并提交时,body列为空。我定义了一种关系,一篇帖子有很多评论。此外,我还定义了一个用户有许多注释。这是我的密码: //commentcontroller.php public function newComment(){ $id=Auth::id(); $comment = New Comment(); $
//commentcontroller.php
public function newComment(){
$id=Auth::id();
$comment = New Comment();
$comment->user_id=$id;
$comment->post_id=Input::get('post_id');
$comment->body=Input::get('body');
post->comments()->save($comment);
}
表格:
@foreach($posts作为$post)
{{$post->title}
通过{{$post->user->name}
image_path)}}'class=“img responsive”id=“blogpic”/
{{Str::words($post->body)}
//评论区
{{Form::open(数组('action'=>)CommentController@newComment“,”文件“=>true”)}
{{Form::textarea('body',null,array('class'=>'Form-control'))}
{{Form::hidden('post_id',$post->id)}
{{Form::submit('Post')}
@endforeach
我现在还不关心显示评论,只是把它们上传到数据库。用户id和post id正确上传到数据库中,文本不会保存。提前感谢。您可以尝试以下方法:
public function newComment()
{
$comment = New Comment();
$comment->user_id = Auth::user()->id;
$comment->post_id = $post_id = Input::get('post_id');
$comment->body = Input::get('body');
Post::find($post_id)->comments()->save($comment);
}
请注意,使用了
Auth::user()->id
而不是Auth::id()
感谢您的回复,但是Laravel在post->comments()->save($comment)时抛出了一个解析错误;线路。会出什么问题?谢谢,文本现在上传到数据库。但出于某种原因,它将每个post_id设置为2。为什么会这样?不确定,可能是关系中缺少配置,或者存储中插入的数据不正确,请在从表中删除记录后重试,然后从头开始。我只是截断了post表,然后它再次工作!谢谢你的帮助!
public function newComment()
{
$comment = New Comment();
$comment->user_id = Auth::user()->id;
$comment->post_id = $post_id = Input::get('post_id');
$comment->body = Input::get('body');
Post::find($post_id)->comments()->save($comment);
}