diff --git a/packages/goods/src/Models/Goods.php b/packages/goods/src/Models/Goods.php index 1c8524b..cffef68 100644 --- a/packages/goods/src/Models/Goods.php +++ b/packages/goods/src/Models/Goods.php @@ -9,7 +9,6 @@ use Peidikeji\Goods\Filters\GoodsFilter; class Goods extends Model { - use SoftDeletes; use Filterable; protected $table = 'goods'; diff --git a/packages/goods/updates/CreateGoodsTable.php b/packages/goods/updates/CreateGoodsTable.php index aa987f2..37471a5 100644 --- a/packages/goods/updates/CreateGoodsTable.php +++ b/packages/goods/updates/CreateGoodsTable.php @@ -65,7 +65,6 @@ class CreateGoodsTable extends Migration $table->json('spec')->nullable()->comment('规格[{name, values: [{name, value}]}]'); $table->json('part')->nullable()->comment('配件[{name, values: [{name, value}]}]'); $table->timestamps(); - $table->softDeletes(); $table->foreign('category_id')->references('id')->on('goods_category'); $table->foreign('type_id')->references('id')->on('goods_type'); diff --git a/src/AdminServiceProvider.php b/src/AdminServiceProvider.php index bb31b4f..80f43ac 100755 --- a/src/AdminServiceProvider.php +++ b/src/AdminServiceProvider.php @@ -49,6 +49,7 @@ class AdminServiceProvider extends ServiceProvider Console\ExtensionDiableCommand::class, Console\ExtensionUpdateCommand::class, Console\UpdateCommand::class, + Console\ModelFillable::class, ]; /** diff --git a/src/Console/ModelFillable.php b/src/Console/ModelFillable.php new file mode 100644 index 0000000..f65fb2d --- /dev/null +++ b/src/Console/ModelFillable.php @@ -0,0 +1,56 @@ +argument('table'); + $except = ['id', 'created_at', 'updated_at']; + + if (Schema::hasTable($table)) { + if (DB::getDefaultConnection() === 'mysql') { + $list = DB::table('information_schema.columns')->where(['table_schema' => config('database.connections.mysql.database'), 'table_name' => $table])->pluck('COLUMN_NAME')->all(); + } else { + $list = Schema::getColumnListing($table); + } + $list = array_filter($list, fn($v) => !in_array($v, $except)); + $this->info("protected \$fillable = ['".implode('\', \'', $list)."'];"); + } else { + $this->error('table ' . $table . ' is not exists'); + } + } +}