[ 'request'=>'options.input', 'key'=>'column', 'validation'=>'required|string:10', 'validation_message'=>'It is a required field.', ], ]; protected $order_model = NULL; */ public function orderValidation(Request $request) { if (! isset($this->order_attributes)) return NULL; $request->validate(collect($this->order_attributes)->pluck('validation','request')->toArray()); if (! isset($this->order_model)) return NULL; $o = new $this->order_model; $x = []; foreach ($this->order_attributes as $k => $v) { $x[$v['key']] = $request->input($k); } $o->forceFill(array_undot($x)); // @todo Make this automatic $o->site_id = config('SITE_SETUP')->id; return $o; } }