【问题标题】:Laravel Form Text Not Being Uploaded To DatabaseLaravel 表单文本未上传到数据库
【发布时间】:2014-07-30 12:53:27
【问题描述】:

我正在尝试为博客上的帖子创建评论系统。我创建了一个用于上传评论的表单。 user_id 和 post_id 列都正确填充到表中,但是,当输入文本并提交时,body 列是空的。我定义了一个帖子有很多评论的关系。另外,我定义了一个用户有很多评论。这是我的代码:

//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);
}

表格:

<div class="col-md-8 col-md-offset-2">

<hr>

@foreach($posts as $post)
    <h3>{{ $post->title}}</h3>
    <p>by {{ $post->user->name }}</p>
    <img src='{{ asset($post->image_path) }}' class="img-responsive" id="blogpic"/>
    <p>{{ Str::words($post->body) }}</p>
    <p><a href="{{ action('BlogController@show', $post->id) }}">Read More...</a></p>

    <hr>
            //COMMENT AREA
    {{ Form::open(array('action' => 'CommentController@newComment', 'files'=>true)) }}
            {{ Form::textarea('body', null, array('class'=>'form-control')) }}
    {{ Form::hidden('post_id', $post->id) }}

    <br>

    <br>


    {{ Form::submit('Post') }}

@endforeach

 </div>

我还不关心显示 cmets,只是将它们上传到数据库。 user_id 和 post_id 在数据库中正确上传,文本只是不保存。提前致谢。

【问题讨论】:

    标签: php mysql laravel laravel-4 blade


    【解决方案1】:

    你可以试试这个:

    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()-&gt;id 代替Auth::id()

    【讨论】:

    • 感谢回复,但是 Laravel 在 post->cmets()->save($comment); 上抛出了解析错误;线。可能出了什么问题?
    • 谢谢,文本现在上传到数据库。但是由于某种原因,它将每个 post_id 都设置为 2。为什么会这样?
    • 不确定,可能是关系中配置有遗漏或者保存中插入的错误数据不能正常工作,删除表中的记录后重试,从头开始。
    • 我刚刚截断了 post 表,然后它又工作了!感谢您的帮助!
    猜你喜欢
    • 2021-11-07
    • 2021-11-01
    • 2017-04-18
    • 2017-04-24
    • 2018-12-15
    • 1970-01-01
    • 2016-10-28
    • 2019-11-03
    • 1970-01-01
    相关资源
    最近更新 更多