特征方法__sleep尚未应用,因为存在碰撞

时间:2017-09-04 19:02:44

标签: php laravel laravel-5 traits

我试图在创建用户时触发事件但是会弹出此错误。

<?php

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;

class NewUser
{
  use Dispatchable, InteractsWithSockets, SerializesModels;

    /**
     * Create a new event instance.
     *
     * @return void
     */

    use SerializesModels;

    public $user;

    public function __construct(App\User $user)
    {
        //
        $this->user = $user;

    }


}

我已经尝试过搜索这个__sleep函数,但我找不到它,而且我在使用use App\User int top函数参数本身时也厌倦了各种各样的事情。

问题是什么?

1 个答案:

答案 0 :(得分:2)

在类定义中使用特征SerializesModels两次。当第二次应用特征时,这会导致错误。 __sleep()恰好是特质中的第一种方法。 Simplified example

编辑添加:由于您说您没有找到__sleep()功能,因此right here