解析错误:语法错误,意外'对于' (T_FOR)laravel

时间:2017-06-26 05:36:05

标签: php laravel laravel-5.4

我试图从处理ajax请求的方法返回HTML。

    public function loadDataAjax(Request $request)
{
    $output = '';
    $id = $request->id;

    $reviews = Review::where('tour_id','=',$id)
    ->where('status','=', 1)
    ->orderBy('created_at','DESC')
    ->limit(3)
    ->get();

    if(!$reviews->isEmpty())
    {
        foreach($reviews as $post)
        {
            $url = url('/');
            $body = substr(strip_tags($post->body),0,500);
            $body .= strlen(strip_tags($post->body))>500?"...":"";

                $output .= '<li itemscope="" itemtype="http://schema.org/Review" class="comment byuser comment-author-physcode bypostauthor even thread-even depth-1" id="li-comment-62">
                <div id="comment-62" class="comment_container">
                    <img alt="" src="'.$url.'/'.Helper::catch_first_image($post->thumbnail).'" class="avatar avatar-60 photo" height="60" width="60">
                    <div class="comment-text">
                        <div class="star-rating" title="Rated '.$post->rating.' out of 5">
                        '.for ($i=1; $i <=5 ; $i++) { 
                            echo .'<i class="fa fa-star"></i>'.;
                        }.'
                        </div>
                        <p class="meta">
                            <span class="flag"><i class="flagstrap-icon flagstrap-'.strtolower($post->country).'"></i></span> <strong>'.ucfirst($post->fname). ucfirst($post->fname).'</strong><br> 
                            <time datetime="'.$post->created_at.'">'.date('M j, Y',strtotime($post->created_at)).'</time>
                            :
                        </p>
                        <strong>'.$post->title.'</strong>
                        <div class="description">
                            <p>'.$post->content.'</p>
                        </div>
                    </div>
                </div>
            </li>';                            
        }
        $output .= '<button class="btn-m btn btn-m-info" id="btn-more" data-id="'.$id.'" >Read More</button>';

        echo $output;
    }
}  

但我收到Parse error: syntax error, unexpected 'for' (T_FOR)错误。以上是我的ajax处理方法的完整代码。它真的很长,所以我没有写完整个代码。

2 个答案:

答案 0 :(得分:1)

我希望您尝试从控制器或模型打印数据。我假设你回应所有的HTML。 请尝试以下代码,

echo '<div class="comment-text">
    <div class="star-rating" title="Rated '.$post->rating.' out of 5">';
      for ($i=1; $i <=$post->rating ; $i++) { 
         echo '<i class="fa fa-star"></i>';
      }
echo '</div>';

如果你试图用一些控制结构回显html,请在控制结构和控制结构内部分别对控制结构上方的代码块回显字符串。低于控制结构。

更新:此更新基于您提问的更新

 $output .= '<div class="comment-text">
    <div class="star-rating" title="Rated '.$post->rating.' out of 5">';
      for ($i=1; $i <=$post->rating ; $i++) { 
          $output .= '<i class="fa fa-star"></i>';
      }
 $output .= '</div>';

答案 1 :(得分:0)

使用此

$output .= '<div class="comment-text">
    <div class="star-rating" title="Rated '.$post->rating.' out of 5">';
      for ($i=1; $i <=$post->rating ; $i++) { 
          $output .= '<i class="fa fa-star"></i>';
      }
 $output .= '</div>';