以官方Demo为例:
php
DataForm页面java
去掉全部的复选框, 点击 Save 按钮this
从新打开DataForm页面, 数据并无改变, 这是bugcode
若至少保留其中一项, 则结果会改变orm
修改文件:get
vendor/zofe/rapyd/src/DataForm/Field/Field.php
修改前:io
public function updateRelations() { ..... case 'Illuminate\Database\Eloquent\Relations\BelongsToMany': $old_data = $this->relation->get()->modelKeys(); $new_data = explode($this->serialization_sep, $data); $this->relation->detach($old_data); if ($data=='') { continue; } .....
修改后:function
public function updateRelations() { case 'Illuminate\Database\Eloquent\Relations\BelongsToMany': ..... $old_data = $this->relation->get()->modelKeys(); // $data 改为 $this->new_value $new_data = explode($this->serialization_sep, $this->new_value); $this->relation->detach($old_data); //判断条件修改 if (empty($this->new_value)) { break; } ......