2016-06-06 15 views
-1

Ich habe zwei Tabellen: "Produkte" und "productPhotos". Jedes Produkt hat eine eindeutige ID = Product_ID. Jedes ProduktFoto hat eine eindeutige ID = ProductPhoto_ID. In meiner Tabelle productPhoto gibt es auch ein Foto und das ist so in meiner Migration angegeben: $ table-> binary ('photo'); Dies ist zum Hochladen von Bildern.Verknüpfung zwischen 2 Tabellen Laravel

In der Tabelle Produkte habe ich die ProductPhoto_ID (es ist eine Beziehung). Aber wie muss ich 'Foto' hinzufügen?

+0

auf https://laravel.com/docs/5.2/eloquent-relationships einige der Forschung. Deine Frage ist nicht klar. –

Antwort

1

Sie müssen die Modelle für jede Tabelle erstellen.

Es ist auch vorzuziehen, Laravel-Konventionen für Tabellen-/Spaltennamen zu verwenden.

So würde ich sie so nennen:

Produkte - id - etc ...

Fotos - id - product_id - etc ...

Dann 2 erstellen Modelle:

class Product extends Model 
    { 
     protected $table = 'products'; 

     public function photos() 
     { 
      return $this->hasMany('App\Photos'); 
     } 
    } 

    class Photo extends Model 
    { 
     protected $table = 'photos'; 

     public function product() 
     { 
      return $this->belongsTo('App\Product','product_id'); 
     }  
    } 

Dann in Ihrem Controller yo Es wird dir gut gehen, solche Beziehungen zu bekommen:

$ product = Produkt :: find ($ id) -> with ('fotos');

Dies gibt Ihnen ein Produktmodell mit einer Eigenschaft namens Fotos zurück, die eine Sammlung aller damit verbundenen Fotomodelle darstellt.

Werfen Sie einen Blick auf https://laravel.com/docs/5.1/eloquent-relationships

Prost