public function create(array $fields)
{
// Get the current highest command order
$max = $this->model->where('target_type', $fields['target_type'])->where('target_id', $fields['target_id'])->where('step', $fields['step'])->orderBy('order', 'DESC')->first();
$order = 0;
if (isset($max)) {
$order = $max->order + 1;
}
$fields['order'] = $order;
$servers = null;
if (isset($fields['servers'])) {
$servers = $fields['servers'];
unset($fields['servers']);
}
$model = $this->model->create($fields);
if ($servers) {
$model->servers()->sync($servers);
}
$model->servers;
// Triggers the loading
return $model;
}