【发布时间】:2017-11-29 08:27:12
【问题描述】:
我在 Laravel 中制作了一个克隆系统。我想克隆活动。
当我点击“克隆”时,我的行被克隆并接收原始 ID 作为“parent_id”列中的值。
原始在“hasClone”列中的值为 1。
但是当我想删除一个克隆时,在我的destroy方法中,我尝试在删除克隆之前将hasClone(原始条目)设置为NULL。
这是我的代码:
public function destroyChanges(Activity $activity)
{
$parentActivity = Activity::findOrFail($activity->parent_id)->first();
$parentActivity->hasClone = NULL;
$parentActivity->save();
$activity->delete();
return redirect()->to('/admin/activity/');
}
这是我的路线:
Route::delete('activity/destroyChanges/{id}', ['as' => 'cancel.activity', 'uses' => 'ActivityCrudController@destroyChanges']);
这是我的按钮:
{{ 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() }}
克隆的条目被正确删除。但他没有更新原始条目。怎么做 ?非常感谢
编辑:我也试过了:
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/');
}
即使我放了一个 die();在destroy方法中,他忽略了它。为什么不考虑呢?
【问题讨论】: