如何在 Spatie\DataTransferObject

问题描述

在 laravel 中,我使用了 spatie/data-transfer-object 将我的专栏之一转换为

protected $casts = [
    'details' => ProductDetails::class,];

在我的 ProductDetails DTO 中,我还想投射两个日期字段

class ProductDetails extends CastableDataTransferObject
{
    use HasDates;

    public int $number

    #[CastWith(ProductDateCaster::class)]
    public int $start_date; //est DD/MM/YY

    #[CastWith(ProductDateCaster::class)]
    public int $end_date;

}

这是我的脚轮

class ProductDateCaster implements Caster{
    
  public function cast(mixed $value): string
        {
            $productDetails = new ProductDetails();
            return $productDetails->parseDate($value)->format('d/m/Y');
        }
    }

我没有以正确的方式做这件事,施法者正在创建一个 DTO 对象,并为除铸造以外的字段提供 null。任何人都可以建议在 DTO 的特定领域使用脚轮的正确方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)