public function store($tableName, Request $request)
 {
     $this->validate($request, packageConfig('validationRules.' . $tableName));
     $data = $this->parseInputData($request);
     if (\Schema::hasColumn($tableName, 'created_at')) {
         $data['created_at'] = \Carbon\Carbon::now();
         $data['updated_at'] = $data['created_at'];
     }
     $hasMany = null;
     if (@$data['hasMany']) {
         $hasMany = $data['hasMany'];
         unset($data['hasMany']);
     }
     $belongsToMany = null;
     if (@$data['belongsToMany']) {
         $belongsToMany = $data['belongsToMany'];
         unset($data['belongsToMany']);
     }
     $model = "App\\Models\\" . Str::studly(Str::singular($tableName));
     if (class_exists($model)) {
         $new = $model::create($data);
         $id = $new->id;
     } else {
         $id = \DB::table($tableName)->insertGetId($data);
     }
     if ($hasMany) {
         $form = $this->getForm($tableName);
         foreach ($hasMany as $table => $ids) {
             $model = "App\\Models\\" . Str::studly(Str::singular($table));
             if (class_exists($model)) {
                 $model::whereIn('id', $ids)->get()->each(function ($item, $key) use($options, $id) {
                     $item::update([$form['hasMany'][$table]['column'] => $id]);
                 });
             } else {
                 \DB::table($table)->whereIn('id', $ids)->update([$form['hasMany'][$table]['column'] => $id]);
             }
         }
     }
     if ($belongsToMany) {
         $form = $this->getForm($tableName);
         foreach ($belongsToMany as $table => $ids) {
             foreach ($ids as $pivotId) {
                 $model = "App\\Models\\" . Str::studly(Str::singular($form['belongsToMany'][$table]['table']));
                 if (class_exists($model)) {
                     $model::create([$form['belongsToMany'][$table]['column'] => $id, $form['belongsToMany'][$table]['foreignLabel'] => $pivotId]);
                 } else {
                     \DB::table($form['belongsToMany'][$table]['table'])->insert([$form['belongsToMany'][$table]['column'] => $id, $form['belongsToMany'][$table]['foreignLabel'] => $pivotId]);
                 }
             }
         }
     }
     return redirect(packageConfig('prefix') . '/' . $tableName);
 }
 public function store($tableName, Request $request)
 {
     $this->validate($request, packageConfig('validationRules.' . $tableName));
     $data = $this->parseInputData($request);
     if (\Schema::hasColumn($tableName, 'created_at')) {
         $data['created_at'] = \Carbon\Carbon::now();
         $data['updated_at'] = $data['created_at'];
     }
     $hasMany = null;
     if (@$data['hasMany']) {
         $hasMany = $data['hasMany'];
         unset($data['hasMany']);
     }
     $id = \DB::table($tableName)->insertGetId($data);
     if ($hasMany) {
         $form = $this->getForm($tableName);
         foreach ($hasMany as $table => $ids) {
             \DB::table($table)->whereIn('id', $ids)->update([$form['hasMany'][$table]['column'] => $id]);
         }
     }
     return redirect(packageConfig('prefix') . '/' . $tableName);
 }
<?php

$prefix = packageConfig('prefix');
Route::get($prefix . '/{modelName}', 'VivifyIdeas\\AdminPanelGenerator\\Http\\Controllers\\MainController@index');
Route::get($prefix . '/{modelName}/create', 'VivifyIdeas\\AdminPanelGenerator\\Http\\Controllers\\MainController@create');
Route::get($prefix . '/{modelName}/edit/{id}', 'VivifyIdeas\\AdminPanelGenerator\\Http\\Controllers\\MainController@edit');
Route::put($prefix . '/{modelName}/{id}', 'VivifyIdeas\\AdminPanelGenerator\\Http\\Controllers\\MainController@update');
Route::post($prefix . '/{modelName}', 'VivifyIdeas\\AdminPanelGenerator\\Http\\Controllers\\MainController@store');
Route::get($prefix . '/{modelName}/delete/{id}', 'VivifyIdeas\\AdminPanelGenerator\\Http\\Controllers\\MainController@delete');
 public function __construct()
 {
     $this->middleware(packageConfig('authMiddleware'));
 }