except('_token'); // create new widget $widget = new WidgetModel(); $widget->widget_type_handler = $widgetType->handler; $widget->user_id = \Auth::user()->id; $widget->name = $data['name']; $widget->description = $data['description']; $widget->container_class = $data['containerClass']; $widget->container_id = $data['containerId']; $widget->settings = json_encode(call_user_func([$widgetType->handler, 'save'], $request)); // save into database $widget->save(); // fire event with newly created widget Event::fire(new \App\Events\CreateNewWidget($widget)); return $widget; } }