create code vonecttion

This commit is contained in:
2025-07-13 14:30:36 +03:30
parent b24b36133c
commit 49b668ec6b
4 changed files with 15 additions and 8 deletions

View File

@@ -4,17 +4,17 @@ namespace App\Enums;
enum MissionCategory: int enum MissionCategory: int
{ {
case ROAD_ITEM= 0; case ROAD_ITEM= 1;
case ROAD_PATROL = 1; case ROAD_PATROL = 2;
case ROAD_OBSERVATION = 2; case ROAD_OBSERVATION = 3;
public static function name(int $state): string public static function name(int $state): string
{ {
$mapArray = [ $mapArray = [
0 => "فعالیت روزانه", 1 => "فعالیت روزانه",
1 => "گشت راهداری", 2 => "گشت راهداری",
2 => "واکنش سریع", 3 => "واکنش سریع",
]; ];
return $mapArray[$state]; return $mapArray[$state];

View File

@@ -58,6 +58,9 @@ class RequestPortalController extends Controller
]); ]);
$mission->rahdaran()->attach($request->rahdaran); $mission->rahdaran()->attach($request->rahdaran);
if ($request->category_id == 3){
$mission->roadObserved()->attach($request->road_observed_id);
}
}); });
return $this->successResponse(); return $this->successResponse();

View File

@@ -35,8 +35,11 @@ class StoreRequest extends FormRequest
'description' => 'string', 'description' => 'string',
'end_point' => 'required|string', 'end_point' => 'required|string',
'area' => 'required|array', 'area' => 'required|array',
'area.type' => 'required|string',
'area.coordinates' => 'required|array',
'explanation' => 'required|string', 'explanation' => 'required|string',
'category_id' => 'required|in:1,2,3', 'category_id' => 'required|in:1,2,3',
'road_observed_id' => 'required_if:category_id,3|exists:road_observed,id',
]; ];
} }

View File

@@ -67,8 +67,9 @@ class Mission extends Model
'rahdar_id', 'rahdar_id',
); );
} }
public function road_patrol():HasMany
public function roadObserved(): MorphToMany
{ {
return $this->hasMany(RoadPatrol::class); return $this->morphToMany(RoadObserved::class, 'missionable');
} }
} }