add models and relations

This commit is contained in:
2018-07-12 21:56:07 +02:00
parent ce88fd3978
commit 34df868d57
11 changed files with 230 additions and 19 deletions
+41 -2
View File
@@ -6,6 +6,9 @@ use AdamWathan\EloquentOAuth\OAuthIdentity;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
/**
* A user in the application
*/
class User extends Authenticatable
{
use Notifiable;
@@ -31,7 +34,7 @@ class User extends Authenticatable
/** Owned tables */
public function dataTables()
{
return $this->hasMany(DataTable::class);
return $this->hasMany(DataTable::class, 'owner_id');
}
/** Assigned OAuth identities */
@@ -43,6 +46,42 @@ class User extends Authenticatable
/** Assigned OAuth identities */
public function changesets()
{
return $this->hasMany(Changeset::class);
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);
}
}