首页 > 解决方案 > 使用模型的 Casts 数组来验证 PHPUnit 上的模型完整性

问题描述

环境:PhpStorm,使用 Laravel 和 PHPUnit。

我想要什么:$casts在我的用户模型上使用并执行一个 foreach 函数来比较特定用户的所有字段,断言数据库中的所有变量是否与我的用户模型 $casts 的类型相同。

是否有任何集成功能已经为我做到了这一点?如果没有,请告诉我如何从头开始制作。

谢谢。

标签: laravelmodelphpunitphpstorm

解决方案


在任何模型上获得 $casts

$user = User::firstOrFail();

$user->getCasts();


/*
 * Output might be an array like

    [
      "id" => "int",
      "email_verified_at" => "datetime",
    ]
*/

但是,如果您在 Model 类上声明 casts 属性,Laravel 将确保正确地进行属性转换 - 请确保根据 $casts 数组转换属性的功能必须已经在框架级别进行了彻底的测试。


推荐阅读