Php url值未通过循环更改

Php url值未通过循环更改,php,mysql,laravel,laravel-5,Php,Mysql,Laravel,Laravel 5,我试图显示用户从数据库中的评论,并且可以为他们的评论提供+1。这就是观点 <br>Comments:<br> @foreach($show as $sh) <span class="comment">{{$sh->comment}} --<b style="color:blue">{{$sh->name}},</b> {{$sh->email}}</span> <form

我试图显示用户从数据库中的评论,并且可以为他们的评论提供+1。这就是观点

  <br>Comments:<br>
    @foreach($show as $sh)
    <span class="comment">{{$sh->comment}} --<b style="color:blue">{{$sh->name}},</b> {{$sh->email}}</span>
    <form method="POST" action="{{url("/review/now/add/{$sh->id}")}}">
    {!! csrf_field() !!}<input type="submit" value="+1"> 
    Total score: <mark>{{$sh->score}}</mark><br><br>
    @endforeach 
控制器:

public function nowadd($id)
  {
        $add=review::where('id',$id)->get();
        $count=$add->score;
        $now=$count+1;
        $nowadd= review::where('id',$id)->update(['score'=>$now]);  
        return redirect('/review')
        ->with('message','your have +1 d the comment.' );      
}
使用where子句,我应该在url中选择该id的行,并将+1添加到该id的分数中。但我在这里也失败了。它显示未定义的属性分数。$add可能是导致此错误的数组。但怎么可能呢?当我使用
first()时,我只选择一个id为的行而不是
get()一切正常,但只针对第一条注释。

get()
方法将返回类,
first()
将返回查询中的第一个模型实例类

为了更新,您需要使用模型而不是集合。当您试图访问集合上的
score
属性时,它将不起作用,因为
score
属性位于模型而不是集合上

实际上,您可以使用集合,并使用foreach进行查询,这将在每次迭代时为您提供一个模型

public function nowadd($id)
{
        review::where('id', $id)->increment('score',1);  // assuming that score is a column in your review database
        return redirect('/review')
        ->with('message','your have +1 d the comment.' );      
}
更新:关闭表单

 <br>Comments:<br>
    @foreach($show as $sh)
    <span class="comment">{{$sh->comment}} --<b style="color:blue">{{$sh->name}},</b> {{$sh->email}}</span>
       <form method="POST" action="{{url("/review/now/add/{$sh->id}")}}">
         {!! csrf_field() !!}<input type="submit" value="+1">
       </form> 
    Total score: <mark>{{$sh->score}}</mark><br><br>
    @endforeach 

注释:
@foreach($sh显示) {{$sh->comment}--{{$sh->name},{{{$sh->email} id}“}}}”> {!!csrf_field()!!} 总分:{{$sh->score}

@endforeach
我使用first();而不是get();一切正常,但仅限于第一条评论。@AchrafKhouadjaI未被重定向到id,而只是一条。url(“/review/now/add/{$sh->id}”)在这里。我不明白你的意思?如果我提交相应的表单,url(“/review/now/add/{$sh->id}”)总是/review/now/add/1。不是2,3等等,可能是因为你没有添加关闭表单标签?在输入字段add和trybtw之后,使用我的控制器代码,它看起来更干净,我想,^^我没有重定向到一个以外的id。url(“/review/now/add/{$sh->id}”)在这里。@Steve:你想重定向到哪里?如果我提交相应的表单,url(“/review/now/add/{$sh->id}”)总是/review/now/add/1。不是2,3等等@Steve你能检查元素看看表单的url是否正确,而不是总是1吗?需要确保它是查看问题或backend@Steve我就是这么想的。前端有东西。因为后端看起来一切都很好。太棒了,一切正常!
 <br>Comments:<br>
    @foreach($show as $sh)
    <span class="comment">{{$sh->comment}} --<b style="color:blue">{{$sh->name}},</b> {{$sh->email}}</span>
       <form method="POST" action="{{url("/review/now/add/{$sh->id}")}}">
         {!! csrf_field() !!}<input type="submit" value="+1">
       </form> 
    Total score: <mark>{{$sh->score}}</mark><br><br>
    @endforeach