我正在使用 Laravel 5.4。
我设置了一个 $casts 数组:
protected $casts =
[
'language_meta' => 'object'
];
但是当我插入数组时:
[
"meta_page_title_cc__c" => "Historic villa for sale within moments of central Florence"
"meta_page_title_fr__c" => null
"meta_page_title_it_cc__c" => "Villa prestigiosa in vendita situata appena fuori il centro storico di"
"meta_page_title_ru_cc__c" => null
"meta_description_it_cc__c" => "Situata in uno dei sobborghi residenziali più prestigiosi di Firenze, questa straordinaria villa storica in vendita è una rara scoperta architettonica che unisce al suo interno magnifiche caratteristiche originali."
"meta_description_fr_cc__c" => null
"meta_description_ru_cc__c" => null
]
我在该数组上运行 json_encode 并得到:
{
"meta_page_title_cc__c": "Historic villa for sale within moments of central Florence",
"meta_page_title_fr__c": null,
"meta_page_title_it_cc__c": "Villa prestigiosa in vendita situata appena fuori il centro storico di",
"meta_page_title_ru_cc__c": null,
"meta_description
_it_cc__c ":"
Situata in uno dei sobborghi residenziali pi\u00f9 prestigiosi di Firenze,
questa straordinaria villa storica in vendita \u00e8 una rara scoperta architettonica che unisce al suo interno magnifiche caratteristiche originali.
","
meta_description_fr_cc__c ": null,
"meta_description_ru_cc__c": null
}
然后我尝试插入这个,我怀疑由于“强制转换”,它然后像这样插入数据:
"{\"meta_page_title_cc__c\":\"Luxury Property For Sale near Montecatini Tuscany\",\"meta_page_title_fr__c\":null,\"meta_page_title_it_cc__c\":\"Immobili di lusso in vendita vicino Montecatini Toscana\",\"meta_page_title_ru_cc__c\":null,\"meta_description_it_cc__c\":\"Casolare con finitura di pregio in vendita - Montecatini Toscana\",\"meta_description_fr_cc__c\":null,\"meta_description_ru_cc__c\":null}"
我无法通过迁移将列设置为“json”,因此已将该列设置为长文本。
有没有办法正确插入数据,然后通过 $casts 选项将该数据解码为预期的结果?我注意到删除 $casts 和 json 数据会正确输入。
也许有一种方法可以使用 $casts 并正确存储对象?
守候你守候我