Ho i seguenti modelli; Brand, Image e Image_size. Il marchio ha un'immagine e l'immagine ha molte dimensioni dell'immagine. Tutti questi modelli utilizzano eliminazioni software e l'aspetto dell'eliminazione è corretto. Tuttavia, se poi volessi ripristinare un marchio che è stato cancellato, ho anche bisogno di ripristinare i modelli immagine e image_size correlati.Laravel 5: come recuperare i modelli correlati cancellati?
Ho cercato di utilizzare gli eventi del modello in modo che quando il mio modello di Brand viene ripristinato, posso ottenere l'immagine e ripristinarla, e quindi avrò un evento simile nel modello dell'immagine per ottenere le dimensioni dell'immagine e ripristina quelli Sto lottando per ottenere il record di immagine cancellato però per il marchio. Questo è ciò che ho sto cercando di fare nel mio modello Marca:
/**
* Model events
*/
protected static function boot() {
parent::boot();
/**
* Logic to run before delete
*/
static::deleting(function($brand) {
$brand->image->delete();
});
/**
* Logic to run before restore
*/
static::restoring(function($brand) {
$brand = Brand::withTrashed()->with('image')->find($brand->id);
$brand->image->restore();
});
}
ottengo solo il seguente messaggio di errore sulla linea che cerca di ripristinare l'immagine:
Call to a member function restore() on a non-object