File: /var/www/ipsremont-demo/app/Models/ImportPackage.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* @property int $id
* @property string $method
* @property int $number
* @property string $response
* @property string $created_at
* @property integer $region_id
*
* @property Region $region
*/
class ImportPackage extends BaseModel
{
protected $table = 'import_packages';
const UPDATED_AT = null;
protected $fillable = [
'method',
'number',
'response',
];
public static function create(string $method, int $number, string $response, ?int $regionId = null): ImportPackage
{
$data = compact('method', 'number', 'response');
if (!empty($regionId)) {
$data['region_id'] = $regionId;
}
$importPackage = new ImportPackage($data);
$importPackage->save();
return $importPackage;
}
public static function getActual(string $method, int $number, ?int $regionId = null): ?self
{
$query = self::query()->where('method', $method)->where('number', $number);
if ($regionId) {
$query->where('region_id', $regionId);
}
return $query->first();
}
// MARK: - Relations
public function region(): BelongsTo
{
return $this->belongsTo(Region::class);
}
}