I have a model that needs to delete images when the model is deleted. The model I will be calling is Seminar.php. This "Seminar" model has got instructors in the model called SeminarInstructor.php. Suppose I called Seminar::find(1)->delete(); to delete the seminar with id = 1-- I would also need this delete off any instructors connected to the model as below:
public function seminarInstructor() { return $this->hasMany(SeminarInstructor::class, 'seminar_id', 'id'); } I have enabled cascading, so when I call delete, laravel/mysql should automatically resolve it. However, I have a method called public function deleteCloudImage1() in SeminarInstructor.php which handles the deletion logic for the image existing in my table as a url. I could manually call this method before I delete a seminar model, but I want to know if there is any convenient method to handle this in eloquent/laravel. I looked up the code a bit and there seems to be a callable attribute called onDelete in the implementation. Anyone know how to use this, or any other alternative.
没有评论:
发表评论