2017-12-08 3 views
1

Ich versuche eine "anglesToMany" -Beziehung zu verwenden, ich hatte nie irgendwelche Probleme damit, aber aus irgendeinem Grund ist es leer.Laravel 5.5 BelongsToMany kehrt leer zurück

Ich habe meine Beziehung im Store-Modell wie folgt aufgebaut:

public function images() 
    { 
     return $this->belongsToMany('App\Images', 'images_stores', 'image_id', 'store_id'); 
    } 

Wenn ich die Beziehung zu testen gibt es keinen Fehler nur eine leere Sammlung obwohl es nicht ist. Dies ist die Art, wie ich auf die Daten zugreifen:

public function edit($id) 
    { 
     $store = Store::find($id); 
     dd($store->images); 

     return view('admin.pages.store.edit', compact('store')); 
    } 

Aber es wäre nur eine leere Auflistung zurückkehren, ich hoffe, dass jemand mir mit diesem helfen könnte. Dies sind meine Migrationsdateien, aber ich glaube nicht, dass das Problem in den Migrationsdateien liegt.

Schema::create('images', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->string('path'); 
     $table->timestamps(); 
    }); 
    // pivot table 
    Schema::create('images_stores', function (Blueprint $table) { 
     $table->increments('id'); 

     $table->integer('image_id')->unsigned()->nullable(); 
     $table->foreign('image_id')->references('id')->on('images')->onDelete('cascade'); 

     $table->integer('store_id')->unsigned()->nullable(); 
     $table->foreign('store_id')->references('id')->on('stores')->onDelete('cascade'); 

     $table->timestamps(); 
    }); 
    // store table 
    Schema::create('stores', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->string('location'); 
     $table->string('email'); 
     $table->timestamps(); 
    }); 

Danke Jungs.

Antwort

5

Ich denke, die id s sind invertiert. Versuchen Sie das:

public function images() 
{ 
    return $this->belongsToMany('App\Images', 'images_stores', 'store_id', 'image_id'); 
} 
+0

Nun, das war dumm .. Als ich das selbst versuchte es würde einen Fehler zurückgeben, aber es funktioniert Vielen Dank sehr! – frogeyedman

+0

Ich bin froh, dass ich Ihnen helfen konnte! Bitte, kannst du das als richtige Antwort akzeptieren? – Laerte