我在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');
可能出现什么问题?
答案 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'))}}