是否有一种方法来存储假属性作为数组而不是JSON?



我使用Laravel Backpack的假字段属性将点击的复选框存储到数据库中。但我不希望它存储为JSON而是存储为数组,例如:

:

{ "key" : "value }

但:

[ "value" ]

这里有更多的上下文:https://backpackforlaravel.com/docs/5.x/crud-fields optional-fake-field-attributes-stores-fake-attributes-as-json-in

下面是一个示例代码片段

protected function setupUpdateOperation()
{
// The data for the checkboxes values
$roles = Role::all();
foreach ($roles as $role) {
CRUD::field('checkbox_' . $role->id)->type('checkbox')->label($role->description)->fake(true)->store_in('checkboxes_data');
}
}

让我知道如果你需要更多的信息!

一旦你有了集合,你可以简单地迭代它来提取值并存储在一个单独的数组中:

$roles = Role::all();
$role_values = [];
foreach($roles as $key => $value) {
$role_values[] = $value;
}

$role_values现在将是一个一维数组,包含:

['value 1','value 2', .... , 'value n']

找到了!我只需要重写update方法。

例如:

public function update($id)
{
// Logic after update is done.
}

最新更新