public function process() { $current = $this->getCurrentValue(); $related = $this->related(); if ($current && $related) { $model = $related->where($related->getKeyName(), $current)->first([$this->relationColumn()]); if ($model) { $this->value()->setShow($model->{$this->relationColumn()}); } } if (!$this->value()->show()) { $this->value()->setShow(function () { return Request::input($this->elementName() . '-text'); }); } // 以下文件仅在 editable 时加载 if ($this->isEditable()) { LegoAsset::css('default/select2/select2.min.css'); LegoAsset::css('default/select2/select2-bootstrap.min.css'); LegoAsset::js('default/select2/select2.full.min.js'); if (!$this->isLocale('en')) { LegoAsset::js("default/select2/i18n/" . $this->getLocale() . ".js"); } } }
/** * 数据处理逻辑 */ public function process() { $this->value()->setShow(function () { $value = $this->getCurrentValue(); if (is_array($value)) { foreach ($value as &$item) { $item = $item ? $item->format($this->getFormat()) : null; } } else { $value = $value ? $value->format($this->getFormat()) : null; } return $value; }); /** * 仅在 editable && 非移动端启用日期控件,移动端使用原生的输入控件 */ if ($this->isEditable() && !$this->isMobile()) { LegoAsset::css('default/datetimepicker/bootstrap-datetimepicker.min.css'); LegoAsset::js('default/datetimepicker/bootstrap-datetimepicker.min.js'); if (!$this->isLocale('en')) { LegoAsset::js('default/datetimepicker/i18n/bootstrap-datetimepicker.zh-CN.js'); } } }