簡體   English   中英

Symfony API 轉換日期

[英]Symfony API transforming date

我正在使用 Symfony 4 制作 API 並且我試圖讓它接受日期,但它不斷拋出Unable to transform data for property path "dateofbirth": Expected a string. 錯誤。

實體中的字段:

/**
 * @ORM\Column(type="date", nullable=true)
 */
private $dateofbirth;

表單中的字段:

->add('dateofbirth', DateType::class, [
    'html5' => false,
    'required' => false,
    'input' => 'string',
    'input_format' => 'Y-m-d'
])

現在,如果我用"dateofbirth": "1990-02-12"發送它 JSON,它會拋出那個錯誤。 我也嘗試發送類似"dateofbirth": "1990-02-12T00:00:00+01:00" ,並將'input_format'設置為Ymd\\TH:i:sP ,但我遇到了同樣的問題。

我一直在處理 options 數組有一段時間了,我還嘗試了上述配置以外的配置,但這就是我現在所擁有的。 我沒有列出我嘗試過的所有無效的方法,而是希望有人能告訴我什么是有效的。

根據DateType文檔:

輸入

輸入數據的格式 - 即日期存儲在基礎對象上的格式。

由於您已將實體聲明為@Column(type="date")您應該將input設置為datetime Symfony 將根據input_format創建對象並將其映射到模型。

並且由於您要發送單個字段,請將widget設置為single_text ,因為choice的默認值將期望一個帶有day, month, year的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM