CommentController :: store()缺少参数1

时间:2015-03-22 16:27:17

标签: php laravel

我在Laravel上制作了一个简单的博客,我在评论部分遇到了一些问题。我通过评论表单传递了article_id,但是我收到了这个错误。

这是文章视图

<?php
 $comment = new Comment;
?>

@extends('layout')
@section('showArticle')

<div class="row">
    <div class="col-lg-12">
        <h4>{{$idArticle->title}}</h4>
        <p>{{$idArticle->text}}</p>

        <div class="col-lg-4">Autor: {{$idArticle->author}}</div>
        <div class="col-lg-4">Categorias</div>

        </div>
</div>

<div class="comments">
<p>Comentarios</p>

</div>

<div>



{{Form::open(array('route' => array('comments.store', $idArticle->id, 'method' => 'POST')))}}

          @include ('errors', array('errors' => $errors))


        <div class="row">
            <div class="form-group col-md-4">
              {{ Form::label('comment', 'Contenido') }}
              {{ Form::textarea('comment', null, array('placeholder' => 'Comment', 'class' => 'form-control')) }}        
            </div>

        </div>
{{ Form::button('Publicar', array('type' => 'submit', 'class' => 'btn btn-primary')) }}    
{{ Form::close() }}

</div>

@stop

控制器

public function store($idArticle)
    {
        var_dump($id);
        exit();
    }

我的路线

Route::resource('comments', 'CommentsController');

可能出现什么问题?

2 个答案:

答案 0 :(得分:0)

试试吧

更改文章视图

{{Form::open(array('route' => array('comments.store', 'method' => 'POST')))}}
{{ Form::hidden('article_id',$idArticle->id) }}
.......
.......

更改您的控制器

public function store()
    {

        var_dump(Input::all());
        exit();

    }

答案 1 :(得分:0)

听起来你正在寻找嵌套资源。

将您的路线更改为:

Route::resource('articles.comments', 'CommentsController');

这将生成以下网址:

articles/{articleId}/comments
articles/{articleId}/comments/{commentId}

现在您打开表单(使用更新的路线名称):

{{Form::open(array('route' => array('articles.comments.store', $idArticle->id), 'method' => 'POST'))}}