User.php 1.49 KB
Newer Older
Jens Segers's avatar
Jens Segers committed
1 2
<?php

3
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
duxet's avatar
duxet committed
4 5 6 7
use Illuminate\Auth\Authenticatable;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
8

Jens Segers's avatar
Jens Segers committed
9 10
class User extends Eloquent implements AuthenticatableContract, CanResetPasswordContract
{
duxet's avatar
duxet committed
11
    use Authenticatable, CanResetPassword;
12

Jens Segers's avatar
Jens Segers committed
13 14
    protected $dates = ['birthday', 'entry.date'];
    protected static $unguarded = true;
15

Jens Segers's avatar
Jens Segers committed
16
    public function books()
Jens Segers's avatar
Jens Segers committed
17
    {
Jens Segers's avatar
Jens Segers committed
18 19 20
        return $this->hasMany('Book', 'author_id');
    }

21 22 23 24 25
    public function mysqlBooks()
    {
        return $this->hasMany('MysqlBook', 'author_id');
    }

Jens Segers's avatar
Jens Segers committed
26 27 28 29 30 31 32 33
    public function items()
    {
        return $this->hasMany('Item');
    }

    public function role()
    {
        return $this->hasOne('Role');
Jens Segers's avatar
Jens Segers committed
34
    }
35

36 37 38 39 40
    public function mysqlRole()
    {
        return $this->hasOne('MysqlRole');
    }

Jens Segers's avatar
Jens Segers committed
41 42 43 44
    public function clients()
    {
        return $this->belongsToMany('Client');
    }
Jens Segers's avatar
Jens Segers committed
45

46 47
    public function groups()
    {
Jens Segers's avatar
Jens Segers committed
48
        return $this->belongsToMany('Group', null, 'users', 'groups');
49 50
    }

Jens Segers's avatar
Jens Segers committed
51 52 53 54 55
    public function photos()
    {
        return $this->morphMany('Photo', 'imageable');
    }

56 57 58 59 60
    public function addresses()
    {
        return $this->embedsMany('Address');
    }

61 62 63 64 65
    public function father()
    {
        return $this->embedsOne('User');
    }

66 67
    protected function getDateFormat()
    {
Jens Segers's avatar
Jens Segers committed
68
        return 'l jS \of F Y h:i:s A';
69
    }
70
}