Files
backend/app/Models/RoadMaintenanceProject.php
2024-02-01 09:53:53 +00:00

77 lines
1.6 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class RoadMaintenanceProject extends Model
{
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
// 'province_id',
'created_at',
'updated_at'
];
protected $fillable = [
'axis_type_fa',
'submited_at_fa',
'last_updated_at_fa',
'city_1_fa',
'city_2_fa',
'city_3_fa',
'project_status_fa',
'province_fa',
'rate',
'rate_desc'
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'cities_id' => 'array',
'project_distance' => 'array',
'project_distance_update' => 'array',
'start_latlng' => 'array',
'end_latlng' => 'array'
];
public function user()
{
return $this->belongsTo('App\Models\User');
}
/**
* Get all of the project's files.
*/
public function files()
{
return $this->morphMany('App\Models\ProjectFile', 'project_fileable');
}
public function projectHistories()
{
return $this->hasMany('App\Models\RoadMaintenanceProjectHistory', 'project_id');
}
public function latestHistory()
{
return $this->hasOne('App\Models\RoadMaintenanceProjectHistory', 'project_id')->latest();
}
public function province()
{
return $this->belongsTo('App\Models\Province');
}
public function city()
{
return $this->belongsTo('App\Models\City');
}
}