为了账号安全,请及时绑定邮箱和手机立即绑定

boot() 无法在 create() 回调中使用变量

boot() 无法在 create() 回调中使用变量

PHP
慕哥6287543 2022-10-28 14:27:30
在创建用户时,User.php我试图定义一个 UUID,创建一个目录,然后将其添加到数据库上的用户。该文件夹使用 UUID 成功创建,但不会传递到creating()回调中。/**    * Create the user when this class is called    *    * @return void    */public static function boot(){    // Setup parent    parent::boot();    // Create UUID    $uuid = Str::uuid();    // Create user directory on S3    Storage::disk('s3')->makeDirectory('users/' . $uuid);    // Assign UUID to new user    self::creating(function ($model) {        $model->id = $uuid;    });}$model->id = $uuid;在这里未定义并且没有任何值。
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超8个赞

像这样注入$uuid闭包:

self::creating(function ($model) use ($uuid) {
        $model->id = $uuid;
    });


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号