数据库关联自定义字段 1.0

功能介绍

1、一个简单的自定义字段,功能为可以选择关联本身或其它数据表来作为数据源;

2、如果是使用开发者工具修改字段,请在开发者工具目录的view下,将db_field_edit.html文件添加一段主副表选择的代码,因为开发者工具生成的控制器默认ismain为1,字段编辑后没这选项了。所以要加

其它使用,就在字段新建或修改时选择,傻瓜式,没什么难度。

3、请在custom.php 开发者自定义函数文件里添加,并在列表回调函数添加relatedata

1684669384026.png

// 用于关联字段显示
function relatedata($value, $param = [], $data = [], $field = []) {

if (!$value) {
return '';
}

$dataname=$field['setting']['option']['dataname'];
$showfield=$field['setting']['option']['showfield'];
$datafield=$field['setting']['option']['datafield'];

$rt = \Phpcmf\Service::M()->db->query("select $showfield from $dataname where $datafield=$value");
if ($rt) {
$row = $rt->getRowArray();
return $row[$showfield];
}
return '';

}

4、有个贴子有些说明:https://www.xunruicms.com/wenda/62859.html

<div class="form-group">
<label class="col-md-2 control-label">{dr_lang('是否主表')}</label>
<div class="col-md-9">
<div class="mt-radio-inline">
<label class="mt-radio mt-radio-outline"><input type="radio" id="iszb1" name="data[ismain]" value="0" /> {dr_lang('附表')} <span></span></label>
<label class="mt-radio mt-radio-outline"><input type="radio" id="iszb2" name="data[ismain]" value="1" checked /> {dr_lang('主表')} <span></span></label>
</div>
</div>
</div>