User::scopeActiveGroup()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 5
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
1
<?php namespace App;
2
3
use Illuminate\Database\Eloquent\Model;
4
use Illuminate\Support\Facades\DB;
5
6
use Illuminate\Auth\Authenticatable;
7
use Illuminate\Auth\Passwords\CanResetPassword;
8
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
9
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
10
11
use \Session;
12
use Illuminate\Database\Eloquent\SoftDeletes;
13
14
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
15
16
	use Authenticatable, CanResetPassword, SoftDeletes;
17
18
	protected $table = 'users';
19
    public $timestamps = false;
20
	protected $hidden = ['password_hash', 'remember_token'];
21
	protected $dates = ['deleted_at'];
22
    public $primaryKey = 'user_id';
23
24
    protected $guarded = ['user_id']; 
25
    
26
    public static $validationRules = [  'firstname'         => 'required|name',
27
    									'lastname'          => 'required|name',
28
                                        'email'             => 'required|email|unique:users,email',
29
                                        'password'          => 'required|password',
30
                                        'repeat_password'   => 'same:password'];
31
    
32
    public function scopeActiveGroup($query) {
33
    	
34
    	return $query->join('groups', 'groups.group_id', '=', 'users.group_id')
35
		    			->where('groups.is_active', true);
36
	}
37
	
38
	public function scopeFromGroup($query) {
39
	
40
		return $query->where('group_id', Session::get('groupID') );
41
	}
42
43
}
44