59 lines
1.4 KiB
PHP
59 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 17/01/2018
|
|
* Time: 10:25
|
|
*/
|
|
|
|
class Projectemployee extends BaseModel {
|
|
|
|
public function project()
|
|
{
|
|
return $this->belongsTo( 'Project' );
|
|
}
|
|
|
|
public function user()
|
|
{
|
|
return $this->belongsTo( 'User' );
|
|
}
|
|
|
|
public function projecthours()
|
|
{
|
|
return $this->hasMany( 'Projecthour' );
|
|
}
|
|
|
|
public static function getAvailableEmployees( $projectID )
|
|
{
|
|
$currentEmployees = Self::whereProjectId( $projectID )
|
|
->lists( 'user_id' );
|
|
|
|
$availableEmployees = User::selectRaw( "id, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname" )
|
|
->whereNotIn( 'id', $currentEmployees )
|
|
->whereArchive( 'F' )
|
|
->get();
|
|
|
|
return $availableEmployees;
|
|
}
|
|
|
|
public static function createProjectEmployee( $projectID )
|
|
{
|
|
$projectemployee = Projectemployee::create( [
|
|
'project_id' => $projectID
|
|
] );
|
|
|
|
return $projectemployee->id;
|
|
}
|
|
|
|
public static function saveProjectemployee( $projectemployeeID, $projectemployee )
|
|
{
|
|
Projectemployee::whereId( $projectemployeeID )
|
|
->update( $projectemployee );
|
|
}
|
|
|
|
public static function removeProjectemployee( $projectemployeeID )
|
|
{
|
|
Projectemployee::whereId( $projectemployeeID )->delete();
|
|
}
|
|
|
|
} |