0

版本:laravel 5.7

当使用模型修改器的$appends属性,新增元素时,使用faker生成假数据时,报错误:

Unknown column 'sex_str'

模型相关代码:

protected $appends = ['sex_str'];
public static $sexAttr = ['未知', '男', '女'];

public function getSexStrAttribute()
{
    return array_key_exists($this->sex, self::$sexAttr) ? self::$sexAttr[$this->sex] : '';
}

faker相关代码:

$factory->define(\App\Models\User::class, function (Faker $faker) {
    return [

        'sex' => random_int(1, 2),

        ];
});

屏蔽$appends属性就正常了,怎么解决模型修改器影响生成假数据的问题?

补充:

模型修改器的用途是:数据库存的sex是int类型,取出时增加sex_str,转换为字符串。

生成假数据时,faker里加了sex生成的。

添加评论
0 条评论
发布您的评论
  • 你的答案

发布您的答案