Ich habe ein nächstes Modell:Laravel 5.3 belongsToMany return null, Pivot-Daten
class Product extends Model{
protected $table = 'products';
public function payments()
{
return $this->belongsToMany('App\Payment', 'payment_product', 'product_id', 'payment_id')
}
}
class Payment extends Model{
protected $table = 'payments';
public function products(){
return $this->belongsToMany('App\Product');
}
}
Pivot Tabelle: payment_product (id, product_id, payment_id)
Eloquent
public function details($id){
$product = Product::with('payments')->find($id);
dd($product->payments); // return null
return view('products.details', ['product' => $product]);
}
Ich brauche bringen Sie eine foreach, aber $ product-> Zahlungen ist null. Warum das ? Alle Tabellen sind nicht leer.
UPD Sub-Abfrage $ this-> belongsToMany ('App \ Payment', 'payment_product', 'product_id', 'payment_id'); Ergebnisse:
Nur ein FYI, weil Sie Namenskonvention die folgenden sind Laravel Sie die Tabellennamen nicht angeben müssen/Spalten in Ihrer Beziehungen. –