假字段并不总是保存

时间:2018-08-11 15:32:24

标签: backpack-for-laravel

我正在使用最新的背包,但在假地方面遇到了麻烦。 我想在表单中添加几个假字段。

当我仅通过输入添加字段时:

 $this->crud->addFields([
        [
            'label'     => 'TEST FAKE',
            'name'     =>  'custom-11111111',
            'type'      => 'text',
            'fake' => true,
            'tab'       => 'Dodatkowe pola',
        ],
    ]);

它完美地工作。但是,当我尝试从数据库中加载它们时:

    $customFieldsCatCollection = $model->category->fieldcategories;
        foreach($customFieldsCatCollection as $collection)
        {
            $customFieldsCollection = $collection->fields;
            foreach($customFieldsCollection as $field)
            {
                $this->crud->addField(
                    [
                        'label' => $field->name,
                        'name' =>  'custom-'.$field->id.'-custom',
                        'type' => 'text',
                        'fake' => true,
                        'tab' => 'Dodatkowe pola',
                    ]
                );
            }
        }

我无法保存它们。我在输入中键入数据,单击“保存”,第一个字段(手动定义)存储在数据库中,而其他所有假字段则不存储。 我的数据库和模型中都有extras。 我试图通过PhpMyAdmin将一些伪数据放入数据库中,其名称与我的假字段相对应,并且从数据库中获取了数据,并在编辑模型数据时显示了这些数据,但未保存数据(例如手动添加的第一个字段) )。

调试栏显示的更新查询只有手动添加的字段,所有通过foreach加载的内容都将被忽略。

有任何线索吗?有人吗?

更新 我进行了其他一些调试,发现可能会为该问题带来更多数据。 我更改了字段的名称(现在工作的字段称为custom-manual-1,其余的字段称为custom-foreach-$this->id,只是为了在调试中使其更加清晰。

我在dd($data)的PanelTraits \ Update.php中拥有update($id, $data) 结果是:

array:7 [▼
"id" => "1"
"title" => "Test Ad ssssccc sa s sa as"
"body" => null
"active" => "0"
"package_id" => "1"
"custom-foreach-1" => "zaq"
"extras" => array:1 [▼
    "custom-manual-1" => "qaz"
    ]
]

看起来背包“认为”我的假字段(通过foreach提供)实际上是数据库字段而不是假字段。

0 个答案:

没有答案