Utilizzando laravel, ho il seguente codicelaravel Eloquente ORM - molti a molti Elimina Pivot Table Valori rimasto
$review = Review::find(1);
$review->delete();
Review
ha una relazione molti a molti definito con un'entità Product
. Quando elimino una recensione, mi aspetto che venga rimossa dai prodotti associati nella tabella pivot, ma non è questo il caso. Quando eseguo il codice sopra, vedo ancora la riga di collegamento nella tabella pivot.
Ho perso qualcosa qui o è così che funziona Laravel? Sono a conoscenza del metodo detach()
, ma ho pensato che l'eliminazione di un'entità lo avrebbe anche separato automaticamente da qualsiasi entità correlata.
Review
è definito così:
<?php
class Review extends Eloquent
{
public function products()
{
return $this->belongsToMany('Product');
}
}
Product
è definito così:
<?php
class Product extends Eloquent
{
public function reviews()
{
return $this->belongsToMany('Review');
}
}
Grazie in anticipo.
Ecco come funziona 'Eloquent'. È possibile utilizzare gli eventi DB per la tabella pivot ('on delete cascade') o implementare i gestori di eventi utilizzando Eloquent. Qualcosa come http://stackoverflow.com/a/14174356/784588 –