使用具有多个相同ID的select2_from_ajax的字段值错误,

问题描述

当我尝试使用select2_from_ajax创建从属字段时,我遇到了一个小问题。 创建新记录时,我得到了正确的结果,因为控制器的逻辑编写正确,但是当我尝试更新记录时,预填充值被错误选择。

例如:

id | state_id | region_id

1 | 1 | 3

2 | 2 | 3

3 | 1 | 2

4 | 2 | 2

当基于region_id的下拉列表从“ 2”中选取值并且我选择state_id“ 2”(id:4)时,那么当我打开更新视图时,我得到的第一个state_id为“ 2”,这意味着id:2而不是id:4

CrudController.PHP

        $this->crud->addField([ // select2_from_ajax: 1-n relationship
            'label'                => "Mestská časť",'tab' => 'Lokalita','type'                 => 'select2_from_ajax','name'                 => 'citypart_id','entity'               => 'city','attribute'            => 'name','data_source'          => url('admin/api/citypart'),'include_all_form_fields' => true,'minimum_input_length' => 0,'dependencies'         => ['region_id','district_id'],'method'
        ]);      

CitypartController.PHP

    public function index(Request $request) {
        $form = collect($request->input('form'))->pluck('value','name');
        $options = City::query();
        if ($form['region_id'] > 0) {
            $options = $options->where('region_id',$form['region_id']);
        }
        return $options->orderBy('name')->paginate(20);
    }

如您所见,在CitypartController上是一种逻辑,用于搜索具有特定“ region_id”的相关记录, 但是更新记录会忽略此控制器,然后获取不正确的citypart_id的第一个发现结果。

一些想法如何解决此问题,或获取正确的更新视图值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...