Api柏拉图式ManyToMany单向关系与JoinTable错误:属性必须是给定的数组字符串



所以我有两个实体:NextInfusionMashStepWithoutGrainAdjunct

// [...]
/**
* @ORMManyToMany(targetEntity=WaterGrainRatio::class)
* @ORMJoinTable(name="next_infusion_mash_step_without_grain_adjunct_water_grain_ratio",
*     joinColumns={@ORMJoinColumn(name="next_infusion_mash_step_without_grain_adjunct_water_grain_ratio_id", referencedColumnName="id", nullable=false)},
*     inverseJoinColumns={@ORMJoinColumn(name="water_grain_ratio_id", referencedColumnName="id", nullable=false)}
* )
* @Groups("post:nextInfusionStepWithoutGrainAdjunct")
*/
private ?WaterGrainRatio $waterGrainRatioId;
//[...]

WaterGrainRatio

//[...]
/**
* @ORMId
* @ORMGeneratedValue
* @ORMColumn(type="integer")
*/
private ?int $id;
//[...]

我添加了一个id为1 的WaterGrainRatioId

当我尝试用这个身体添加NextInfusionStepWithoutGrainAdjunct的邮差时:

{
"waterGrainRatioId": "/dashboard/water_grain_ratios/1",
"...": "..."
}

我得到了这个错误:"The type of the "waterGrainRatioId" attribute must be "array", "string" given.",

我不明白为什么IRI不被理解,为什么它需要一个数组。

我尝试过的:#[ApiProperty(readableLink: false, writableLink: false)],但不起作用。

编辑:我用这篇文章弄清楚了,我只需要通过一个IRI数组,如下所示:

"waterGrainRatioId": [
"/dashboard/water_grain_ratios/1",
"/dashboard/water_grain_ratios/2"
]

正如我在编辑中所说,我通过传递一个IRI:数组来解决问题

"waterGrainRatioId": [
"/dashboard/water_grain_ratios/1",
"/dashboard/water_grain_ratios/2"
]

最新更新