38 lines
832 B
PHP
38 lines
832 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Services;
|
||
|
|
||
|
use App\Models\Rank;
|
||
|
use App\Models\Subfleet;
|
||
|
|
||
|
class FleetService extends BaseService
|
||
|
{
|
||
|
/**
|
||
|
* @param Subfleet $subfleet
|
||
|
* @param Rank $rank
|
||
|
* @param array $overrides
|
||
|
* @return Subfleet
|
||
|
*/
|
||
|
public function addSubfleetToRank(Subfleet $subfleet, Rank $rank, array $overrides=[])
|
||
|
{
|
||
|
$subfleet->ranks()->syncWithoutDetaching([$rank->id]);
|
||
|
|
||
|
if($overrides) {
|
||
|
$subfleet->ranks()->updateExistingPivot($rank->id, $overrides);
|
||
|
}
|
||
|
|
||
|
$subfleet->save();
|
||
|
$subfleet->refresh();
|
||
|
return $subfleet;
|
||
|
}
|
||
|
|
||
|
public function removeSubfleetFromRank(Subfleet $subfleet, Rank $rank)
|
||
|
{
|
||
|
$subfleet->ranks()->detach($rank->id);
|
||
|
|
||
|
$subfleet->save();
|
||
|
$subfleet->refresh();
|
||
|
return $subfleet;
|
||
|
}
|
||
|
}
|