добавляю модели таблиц
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Taxi\App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Modules\Taxi\Database\factories\OfficeAddressFactory;
|
||||||
|
|
||||||
|
class OfficeAddress extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'office_address';
|
||||||
|
protected $guarded = [];
|
||||||
|
}
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Taxi\App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Modules\Taxi\Database\factories\TaxiMainFactory;
|
||||||
|
//use Spatie\Activitylog\Traits\LogsActivity;
|
||||||
|
// use Spatie\Activitylog\LogOptions;
|
||||||
|
use App\Traits\LogsActivity_custom;
|
||||||
|
use Modules\Taxi\App\DTO\TaxiOrderDTO;
|
||||||
|
use App\Enums\LogBusinessEvents;
|
||||||
|
|
||||||
|
class TaxiMain extends Model
|
||||||
|
{
|
||||||
|
//use LogsActivity;
|
||||||
|
use LogsActivity_custom;
|
||||||
|
|
||||||
|
protected $table = 'taxi_main';
|
||||||
|
protected $guarded = [];
|
||||||
|
|
||||||
|
// protected $activityCustomProperties = [
|
||||||
|
// 'emp_login' => 'dgavrilov',
|
||||||
|
// ];
|
||||||
|
|
||||||
|
// public function getActivitylogOptions(): LogOptions
|
||||||
|
// {
|
||||||
|
// return LogOptions::defaults()
|
||||||
|
// ->logAll()
|
||||||
|
// ->logOnlyDirty()
|
||||||
|
// ->useLogName('Taxi')
|
||||||
|
// ->logExcept(['created_at', 'updated_at']);
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
//В трейте LogsActivity_custom это свойство отвечает за название приложения, события в котором логируются. Оно записывается в поле activity_log.log_name
|
||||||
|
$this->logActivity_custom__name = 'Taxi';
|
||||||
|
$this->addCustomLogProperties(['custom__test' => 'test']);
|
||||||
|
}
|
||||||
|
|
||||||
|
//ГАВРИЛОВ. сделай метод не статическим
|
||||||
|
public static function getFieldsTitle()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id' => 'Номер запроса',
|
||||||
|
'emp_login' => 'Логин сотрудника',
|
||||||
|
'emp_phone' => 'Телефон сотрудника',
|
||||||
|
'taxi_date' => 'Дата заказа',
|
||||||
|
'taxi_time' => 'Время заказа',
|
||||||
|
'taxi_address_from' => 'Адрес откуда',
|
||||||
|
'taxi_address_to' => 'Адрес куда',
|
||||||
|
'cancel_rqst' => 'Запрос отменен',
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createOrder(TaxiOrderDTO $orderData): string
|
||||||
|
{
|
||||||
|
//ГАВРИЛОВ. проверь будет ли возвращаться ошибка без try catch
|
||||||
|
// try {
|
||||||
|
|
||||||
|
$this->logBusinessEvent(LogBusinessEvents::Create);
|
||||||
|
$newOrder = $this->create(
|
||||||
|
[
|
||||||
|
'emp_login' => $orderData->emp_login,
|
||||||
|
'taxi_date' => $orderData->taxi_date,
|
||||||
|
'emp_phone' => $orderData->emp_phone,
|
||||||
|
'taxi_time' => $orderData->taxi_time,
|
||||||
|
'taxi_address_from' => $orderData->taxi_address_from,
|
||||||
|
'taxi_address_to' => $orderData->taxi_address_to
|
||||||
|
]
|
||||||
|
);
|
||||||
|
return $newOrder->id;
|
||||||
|
// } catch (\Exception $e) {
|
||||||
|
// return $e->getMessage();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * @return string Метод нужен для переопределения параметра трейта. Простое переопределение вызывает конфликт
|
||||||
|
// */
|
||||||
|
//protected $logActivity_custom__name = 'Taxi';
|
||||||
|
// public function getLogName(): string
|
||||||
|
// {
|
||||||
|
// return 'Taxi';
|
||||||
|
// }
|
||||||
|
|
||||||
|
//protected $logActivity_custom__name;
|
||||||
|
|
||||||
|
// public function getActivitylogOptions(): LogOptions
|
||||||
|
// {
|
||||||
|
// //Через метод default() получаем параметры класса логирования по умолчанию. Ниже можем их переопределять в зависимости от специфики работы с моделью
|
||||||
|
// $logOptions = LogOptions::defaults()
|
||||||
|
// ->logOnly(['*']); //Устанавиваем список логируемых данных (полей модели), либо, как в этом случае, логируем все поля
|
||||||
|
// //->logExcept(['created_at', 'updated_at']) //Не логируем поля изменения и создания записи в ЛЮБОМ случае
|
||||||
|
// //->logOnlyDirty(); //Логируем только те поля, которые были изменены
|
||||||
|
// $logOptions->logName = 'Taxi'; //Устанавливаем значение для имени приложения
|
||||||
|
|
||||||
|
// return $logOptions;
|
||||||
|
// }
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Taxi\App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class TaxiTimePeriod extends Model
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The attributes that are mass assignable.
|
||||||
|
*/
|
||||||
|
protected $guarded = [];
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user