2016-12-04 10 views
2

私のビューに表示するには、laravelコントローラからデータを返す必要があります。 以下は、これを達成するために使用しているコントローラメソッドです。私はsrc内の '$ imagepath'変数の値を取得できませんでした。このため、私のビューでイメージをロードすることができません。私はララベルの初心者です。事前に感謝してください。は、laravel 5.3のsrcタグ内の変数値にアクセスします。

public function show(Request $request) 
{ 
    if ($request->ajax()){ 
     $output=""; 
     $orderItems=DB::table('orderItem')->where ('order_id','=', $request->orderId)->get(); 
     if($orderItems){ 
      foreach ($orderItems as $key=>$orderItem){ 
       $spare=Spares::find($orderItem->spare_id); 
       $imagepath=$spare->imagePath; 
       $output.='<tr>'. 
        '<td>'.$spare->description.'</td>'. 
        '<td>'.$spare->description.'</td>'. 

        '<td> 

        //here i need to set the src of the image 

         <img style="width: 50px;height: 50px;" 
         src="{{asset(\'images/spares/\').\'/\'.$imagepath}}"> 

        </td>'. 

        '<td> 
         <a class=" btn btn-success btn-sm" data-toggle="modal" data-target="#modalReview" >Add Review </a> 
        </td>' . 


        '</tr>'; 
      } 

      return response($output); 
     } 
    } 
} 

答えて

0

それは次のとおりです。

src="{{asset("images/spares/{$imagepath}")}}"> 
+0

その – hEShaN

+0

ああを働いていません。私はブレードテンプレートビューでそれを意味します。 –

+0

私はコントローラファイルからこのデータをレスポンス経由でブレードに渡す必要があります。私はこのsrc値がブレードではなくコントローラーで定義されている必要があります – hEShaN

0
<img style="width: 50px;height: 50px;" src="<?= asset('images/spares/'{$imagepath}) ?>" > 

は、あなたがしたいコードの種類です。ブレードではなくPHPを直接使用する必要があります。 Bladeは、テンプレートレンダリングエンジンが.blade.php(または.blade?)で終わるファイルをロードしているときにのみ解釈されます。これはコントローラからクライアントに文字列を直接返すだけなので、何かを介して解析されることはありません。

ただし、大きな警告:このをしないでください。あなたのビューをビューファイルに入れて、コントローラから直接返す代わりにそれらを返す。これは理由がなく、(あなたが今経験しているように)自分自身をより困難にするだけです。

更新スニペット:いいえ

<img style="width: 50px;height: 50px;" src="' . asset('images/spares/'{$imagepath}) . '" > 
+0

いいえ、それは動作しません – hEShaN

+0

それから受信している正確なエラーを提供する必要がありますフロントエンドの出力。提供されるコードは、提供されるすべての情報を考慮して必要なものでなければなりません。 – Garbee

+1

@Garbeeはまだphpではなく、 '<?=' phpの中にいるのですか? –

関連する問題