I make a clone system in Laravel. I want to clone activities.
When I click on "Clone", my line is cloned and receives as the value in the column "parent_id" the ID of the original.
The original gets a value of 1 in the "hasClone" column.
But when I want to delete a clone, in my destroy method, I try to set hasClone (the original entry) to NULL before deleting the clone.
Here is my code :
public function destroyChanges(Activity $activity)
{
$parentActivity = Activity::findOrFail($activity->parent_id)->first();
$parentActivity->hasClone = NULL;
$parentActivity->save();
$activity->delete();
return redirect()->to('/admin/activity/');
}
Here is my route :
Route::delete('activity/destroyChanges/{id}', ['as' => 'cancel.activity', 'uses' => 'ActivityCrudController@destroyChanges']);
Here is my button :
{{ Form::open([ 'method' => 'DELETE', 'route' => [ 'cancel.activity', $entry->getKey() ] ]) }}
<button class="btn btn-default"><i class="fa fa-ban"></i> {{ trans('backpack::crud.cancel') }}</button>
{{ Form::close() }}
The entry of the clone is deleted correctly. But he does not update the original entry. How to do ? thank you very much
EDIT : I also tried that :
public function destroyChanges($id)
{
$activity = Activity::findOrFail($id);
$parentActivity = Activity::where('id', '=', $activity->parent_id)->first();
$parentActivity->hasClone = NULL;
$parentActivity->save();
$activity->delete();
return redirect()->to('/admin/activity/');
}
Even if I put a die (); in the destroy method, he ignores it. Why does not it take it into account?