where('source_id', $data['id'])->where('status', 'normal')->cache(true)->select(); } public function getFieldsContentList($model_id) { $list = Fields::where('source', 'model') ->where('source_id', $model_id) ->field('id,name,type,content') ->where('status', 'normal') ->cache(true) ->select(); $fieldsList = []; $listFields = Fields::getListFields(); foreach ($list as $index => $item) { if (in_array($item['type'], $listFields)) { $fieldsList[$item['name']] = $item['content_list']; } } return $fieldsList; } /** * 判断字段是否可投稿 * @param string $field 字段名称 * @return bool */ public function iscontribute($field) { $setting = $this->setting; $contributefields = isset($setting['contributefields']) ? $setting['contributefields'] : []; return in_array($field, $contributefields); } /** * 获取排序字段信息 * @return array */ public function getOrderFields() { $setting = $this->setting; $orderfields = isset($setting['orderfields']) ? $setting['orderfields'] : []; $result = []; $prefix = Config::get('database.prefix'); $fields = Service::getTableFields($prefix . "cms_archives"); $titles = []; foreach ($fields as $index => $field) { $titles[$field['name']] = $field['title']; } $titles = array_merge($titles, isset($setting['titlelist']) ? $setting['titlelist'] : []); foreach ($orderfields as $index => $orderfield) { $title = isset($titles[$orderfield]) ? $titles[$orderfield] : $orderfield; $result[] = ['name' => $orderfield, 'field' => $orderfield, 'title' => $title]; } return $result; } }