More work on ordering
This commit is contained in:
50
app/Traits/OrderServiceOptions.php
Normal file
50
app/Traits/OrderServiceOptions.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Creates and returns the Service Options Model for an Order.
|
||||
*/
|
||||
namespace App\Traits;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
trait OrderServiceOptions
|
||||
{
|
||||
/*
|
||||
protected $order_attributes = [
|
||||
'options.input'=>[
|
||||
'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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user