2016-11-16 4 views
1

私はlaravel 5.2で複数の画像をアップロードしています。私はInterventionを使用していません。画像ギャラリーのサムネイルをクリックした後、サムネイルビューとすべての画像に必要な画像は1つだけです。私は正常に画像をアップロードしていますが、ビューにフェッチすることができませんでした。私は2つのテーブルの投稿と画像を持っています。 laravelの複数の画像パスから1つの画像パスを取得するにはどうすればよいですか?


投稿テーブル
| id |タイトルの説明
画像テーブル
| id | p_id |パス
私はこのようなセットアップ関係を持っています。

// Post model 
public function images() 
{ 
return $this->hasMany('App\Models\Image','p_id'); 
} 
//Image model 
public function posts() 
{ 
return $this->belongsTo('App\Models\Post','p_id'); 
} 
+0

'$ post-> images() - > first()'を使用できます。 – Morilog

+0

申し訳ありませんが何もしませんでした。代わりに、私は$ post-> images() - > first()['path']を実行しました。そしてブーム!どうもありがとう! – pandesantos

答えて

0
$posts=Post::with('images')->get(); 

そして、これは最初のイメージのパスを与え、あなたはサムネイルのために使用することができます。

$posts[0]->images[0]->path; 

そして、これはすべての画像パスを与えます。

foreach($posts as $post) 
{ 
    foreach($post->images as $image) 
    { 
     $image->path; 
    } 
} 
+0

$ posts [0] - > images [0] - > pathは単一の画像を与えましたが、すべての投稿は同じ画像を持っています。 – pandesantos

関連する問題