// +---------------------------------------------------------------------- declare (strict_types = 1); namespace addon\wxchat\model; use ywxapp\model\BaseModel; use ywxapp\model\MemberUser as UserModel; class WxchatMomentComment extends BaseModel { protected function getOptions(): array { return [ 'strict' => true, 'name' => 'wxchat_moment_comments', 'autoWriteTimestamp' => 0, 'createTime' => 'create_at', 'updateTime' => 'update_at' ]; } // 关联:所属动态 public function moment() { return $this->belongsTo(Moment::class, 'mid'); } // 关联:评论用户 public function user() { return $this->belongsTo(UserModel::class, 'uid'); } // 关联:被回复用户 public function replyToUser() { return $this->belongsTo(UserModel::class, 'rid'); } // 关联:父评论 public function parent() { return $this->belongsTo(WxchatMomentComment::class, 'pid'); } // 关联:子评论(回复) public function replies() { return $this->hasMany(WxchatMomentComment::class, 'pid') ->where('status', 1) ->order('created_at', 'asc'); } // 关联:点赞用户 public function likeUsers() { return $this->belongsToMany(UserModel::class, WxchatMomentLike::class, 'uid', 'cid'); } }