2016-03-24 43 views
2

Bir gönderi listesiyle basit bir blog oluşturuyorum. Her gönderide birden fazla medya (resim, video vb.) Var. Yani üç modelim var: Mesaj (id, başlık, makale, albüm_id, vb.), Albüm (id, başlık, açıklama, vb.) Ve Medya (id, url, tip, vb.). Bir yayının bir albümü olabilir ve bir albümde birden çok medya olabilir. aşağıdaki gibi Bir modelin yuvalanmış dizisini Laravel 4'e göndermenin en iyi yolu nedir?

(BlogController) Ben kodlanmış mesajların listesi ile sayfasını oluşturmak için: Gördüğünüz gibi

public function generateList(){ 
     $posts = Post::where('subcategory_id','=','3')->orderBy('created_at', 'DESC')->paginate(30); 

     return View::make('main.informativos') 
      ->with('posts', $posts); 
    } 

, bugün sadece mesaj görünümüne gönderilir. Sorum şu: Her gönderinin tüm yollarını göndermenin en iyi yolu nedir? Orada birçok mesaj olduğunu hatırlıyorum.

+0

kontrol edin: mesaj :: ('albums.media') ile -> ('subcategory_id',' = ',' 3 ') -> orderBy (' created_at ',' DESC ') -> sayfalandırma (3) 0); –

+0

Teşekkürler! İyi çalışıyor. Post :: ile yazdım ('album.medias') -> nerede (..) -> get(); Başka bir soru, bu sorguda 'type =' jpg '' değeri ile ilk medyayı nasıl seçebilirim? Bir Yayının bir Albüme ait olduğunu ve albümün çok sayıda Medya olduğunu unutmayın. –

cevap

3

modellerinde probarly yabancı anahtarları belirtin 'ForeignKey', 'PrimaryKey' koşulu
şirket, ülke fonksiyonları Yine şüphe var ilişkiler
dayanmaktadır nerede önce kontrolördeki fonksiyonu ile
kullanımı ile
kullanım ilişki fonksiyonları .. Eğer hevesli yük onlara "ile" seçeneğini kullanarak, sen ilişkiler doğru ayarlanmış olması varsayarsak laravel doc

public function index() 
{ 
    $Location = Location::with('Company', 'Country') 
     ->where('company_id', '=', $company_id) 
     ->get(); 
    return response()->json($Location, 200); 
}