Php Laravel刀片视图中的未定义变量
我正在尝试创建一个blade视图,以便在我的应用程序中查看特定帖子的评论,但我遇到一个未定义的变量错误: a11883d0293a033eba2997ec69df8cdf4ea6a835.php第9行中出现错误异常: 未定义变量:注释视图: C:\xampp\htdocs\directory\resources\views\admin\comments\show.blade.php 我是新来学习拉威尔和道歉,如果这已经回答了之前,但我一直无法解决这个问题,通过研究在这个网站上迄今为止。谢谢大家! show.blade.php Comment.php模型Php Laravel刀片视图中的未定义变量,php,laravel,Php,Laravel,我正在尝试创建一个blade视图,以便在我的应用程序中查看特定帖子的评论,但我遇到一个未定义的变量错误: a11883d0293a033eba2997ec69df8cdf4ea6a835.php第9行中出现错误异常: 未定义变量:注释视图: C:\xampp\htdocs\directory\resources\views\admin\comments\show.blade.php 我是新来学习拉威尔和道歉,如果这已经回答了之前,但我一直无法解决这个问题,通过研究在这个网站上迄今为止。谢谢大家!
您缺少的是对传递给视图的$comments进行迭代 因此,请尝试用以下内容替换您的内容:
@foreach($comments as $comment)
<tr>
<td>{{$comment->id}}</td>
<td>{{$comment->author}}</td>
<td>{{$comment->email}}</td>
<td>{{$comment->body}}</td>
<td><a href="{{route('home.post', $comment->post->id)}}">View Post</a></td>
<td>
@if($comment->is_active == 1)
{!! Form::open(['method'=>'PATCH','action'=> ['PostCommentsController@update', $comment->id]]) !!}
<input type="hidden" name="is_active" value="0">
<div class="form-group">
{!! Form::submit('Un-approve', ['class'=>'btn btn-info']) !!}
</div>
{!! Form::close() !!}
@else
{!! Form::open(['method'=>'PATCH','action'=> ['PostCommentsController@update', $comment->id]]) !!}
<input type="hidden" name="is_active" value="1">
<div class="form-group">
{!! Form::submit('Approve', ['class'=>'btn btn-success']) !!}
</div>
{!! Form::close() !!}
@endif
</td>
<td>
{!! Form::open(['method'=>'DELETE','action'=> ['PostCommentsController@destroy', $comment->id]]) !!}
<div class="form-group">
{!! Form::submit('Delete', ['class'=>'btn btn-danger']) !!}
</div>
{!! Form::close() !!}
</td>
</tr>
@endforeach
你在控制器中有$comments复数形式,在刀片文件中有$comments单数形式。在用这个替换我的身体之后,我仍然得到错误!检查我的编辑。并确保在foreach循环外不使用$comment。谢谢!它解决了这个错误,但我没有得到任何评论显示时,有评论的文章,应该显示。我将不得不进一步研究这个问题:Np。如果你有任何意见,你应该检查你的数据库。如果有帮助的话,请考虑接受这个答案。
namespace App;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
protected $fillable = [
'post_id',
'author',
'email',
'body',
'is_active'
];
public function replies()
{
return $this->hasMany('App\CommentReply');
}
public function post()
{
return $this->belongsTo('App\Post');
}
}
@foreach($comments as $comment)
<tr>
<td>{{$comment->id}}</td>
<td>{{$comment->author}}</td>
<td>{{$comment->email}}</td>
<td>{{$comment->body}}</td>
<td><a href="{{route('home.post', $comment->post->id)}}">View Post</a></td>
<td>
@if($comment->is_active == 1)
{!! Form::open(['method'=>'PATCH','action'=> ['PostCommentsController@update', $comment->id]]) !!}
<input type="hidden" name="is_active" value="0">
<div class="form-group">
{!! Form::submit('Un-approve', ['class'=>'btn btn-info']) !!}
</div>
{!! Form::close() !!}
@else
{!! Form::open(['method'=>'PATCH','action'=> ['PostCommentsController@update', $comment->id]]) !!}
<input type="hidden" name="is_active" value="1">
<div class="form-group">
{!! Form::submit('Approve', ['class'=>'btn btn-success']) !!}
</div>
{!! Form::close() !!}
@endif
</td>
<td>
{!! Form::open(['method'=>'DELETE','action'=> ['PostCommentsController@destroy', $comment->id]]) !!}
<div class="form-group">
{!! Form::submit('Delete', ['class'=>'btn btn-danger']) !!}
</div>
{!! Form::close() !!}
</td>
</tr>
@endforeach
@if($comments->count())