order('weigh desc,id desc')->select(); foreach ($fields as $k => $v) { $v->value = isset($values[$v['name']]) ? $values[$v['name']] : ''; if (!$v->value) { $v->value = $v->default; } $v->unirule = trim($v->rule, ',') ? explode(',', trim($v->rule, ',')) : false; $v->rule = str_replace(',', '; ', $v->rule); if (in_array($v->type_list, ['checkbox', 'lists', 'images'])) { $checked = ''; if ($v['minimum'] && $v['maximum']) { $checked = "{$v['minimum']}~{$v['maximum']}"; } elseif ($v['minimum']) { $checked = "{$v['minimum']}~"; } elseif ($v['maximum']) { $checked = "~{$v['maximum']}"; } if ($checked) { $v->rule .= (';checked(' . $checked . ')'); } } if (in_array($v->type_list, ['checkbox', 'radio']) && stripos($v->rule, 'required') !== false) { $v->rule = str_replace('required', 'checked', $v->rule); } if (in_array($v->type_list, ['selects'])) { $v->extend .= (' ' . 'data-max-options="' . $v['maximum'] . '"'); } } return $fields; } public function user() { return $this->hasOne('app\admin\model\User', 'id', 'user_id', [], 'LEFT')->setEagerlyType(0); } public function category() { return $this->hasOne('app\admin\model\workorder\Category', 'id', 'category_id', [], 'LEFT')->setEagerlyType(0); } public function urgentrank() { return $this->hasOne('app\admin\model\workorder\Urgentrank', 'id', 'urgency', [], 'LEFT')->setEagerlyType(0); } }