Skip to content

Commit 9bd1e9b

Browse files
committed
Enhancements model-grid soft-deletes
1 parent 7fcd525 commit 9bd1e9b

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

src/Actions/BatchAction.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ public function retrieveModel(Request $request)
4747
$key = explode(',', $key);
4848
}
4949

50+
if ($this->modelUseSoftDeletes($modelClass)) {
51+
return $modelClass::withTrashed()->findOrFail($key);
52+
}
53+
5054
return $modelClass::findOrFail($key);
5155
}
5256

src/Actions/GridAction.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Encore\Admin\Actions;
44

55
use Encore\Admin\Grid;
6+
use Illuminate\Database\Eloquent\SoftDeletes;
67
use Illuminate\Http\Request;
78

89
/**
@@ -61,4 +62,15 @@ public function parameters()
6162
{
6263
return ['_model' => $this->getModelClass()];
6364
}
65+
66+
/**
67+
* Indicates if model uses soft-deletes.
68+
*
69+
* @param $modelClass
70+
* @return bool
71+
*/
72+
protected function modelUseSoftDeletes($modelClass)
73+
{
74+
return in_array(SoftDeletes::class, class_uses_deep($modelClass));
75+
}
6476
}

src/Actions/RowAction.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ abstract class RowAction extends GridAction
2727
*/
2828
protected $asColumn = false;
2929

30-
/**
31-
* @var bool
32-
*/
33-
protected $withTrashed = false;
34-
3530
/**
3631
* Get primary key value of current row.
3732
*
@@ -121,7 +116,7 @@ public function retrieveModel(Request $request)
121116

122117
$modelClass = str_replace('_', '\\', $request->get('_model'));
123118

124-
if ($this->withTrashed) {
119+
if ($this->modelUseSoftDeletes($modelClass)) {
125120
return $modelClass::withTrashed()->findOrFail($key);
126121
}
127122

0 commit comments

Comments
 (0)