hasMany(DataTable::class, 'owner_id'); } /** Assigned OAuth identities */ public function socialIdentities() { return $this->hasMany(OAuthIdentity::class); } /** Assigned OAuth identities */ public function changesets() { return $this->hasMany(Changeset::class, 'author_id'); } /** Authored comments */ public function tableComments() { return $this->hasMany(TableComment::class, 'author_id'); } /** User's favourite tables (personal collection) */ public function favouriteTables() { return $this->belongsToMany(DataTable::class, 'table_favourites'); } /** Tables whose discussions user follows (this is similar to favourites) */ public function followedDiscussions() { return $this->belongsToMany(DataTable::class, 'discussion_follows'); } /** Reports sent by this user */ public function authoredReports() { return $this->hasMany(ContentReport::class, 'author_id'); } /** Reports of this user */ public function reportsOf() { return $this->morphMany(ContentReport::class, 'object'); } /** Notifications for this user */ public function notifications() { return $this->hasMany(Notification::class); } }