繁体   English   中英

laravel 从 voyager 中的文本获取数组

[英]laravel get array from text in voyager

试图将文本保存为数据库中的数组所以我写

  some Text
  some Text,
  some Text;
  some Text.

并将其保存在数据库中

        ["some Text\r\nsome Text,\r\nsome Text;\r\nsome Text."]

我怎样才能以这种格式保存它

        ["some Text" ,"some Text,","some Text;" , "some Text."]

有没有休息什么的

protected $casts = [
'array_value' => 'array',
];


public function setArrayValueAttribute($value)
{
    $this->attributes['array_value'] = json_encode($value);
}

public function getArrayValueAttribute($value)
{
    return collect(json_decode($value));
}

你可以在二传手中蛮力它。

public function setArrayValueAttribute($value)
{
    $newArray = [];
    foreach($value as $item) {
        $items = explode("\r\n", $item);
        array_push($newArray, $items);
    }

    $this->attributes['array_value'] = json_encode($newArray);
}

但这仅适用于您上面的示例用例。 如果您期待任何其他类型的换行符,您也必须处理它们。

我遇到了完全相同的问题,并通过使用textvarchar作为数据库列类型而不是JSON来修复它。 我知道它有点脏但对我有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM