'系统消息', self::SCENE1 => '系统通知' ]; const SCENE0 = 0; const SCENE1 = 1; // 推送方式 const PUSH_METHOD = [ self::PUSH_METHOD0 => '系统推送', self::PUSH_METHOD1 => '手动推送' ]; const PUSH_METHOD0 = 0; const PUSH_METHOD1 = 1; /** * 关联用户消息状态 (一对多) */ public function userStatuses() { return $this->hasMany(MessageUserStatus::class, 'msg_id', 'id'); } /** * 获取已读用户状态 */ public function readUsers() { return $this->hasMany(MessageUserStatus::class, 'msg_id', 'id') ->where('status', 1); } /** * 获取未读用户状态 */ public function unreadUsers() { return $this->hasMany(MessageUserStatus::class, 'msg_id', 'id') ->where('status', 0); } public function sender() { return $this->belongsTo(User::class, 'sender_id', 'id'); } }