[英]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);
}
但这仅适用于您上面的示例用例。 如果您期待任何其他类型的换行符,您也必须处理它们。
我遇到了完全相同的问题,并通过使用text或varchar作为数据库列类型而不是JSON来修复它。 我知道它有点脏但对我有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.