добавляю все изменения проекта на текущий момент
This commit is contained in:
@@ -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;
|
||||
// }
|
||||
}
|
||||
Reference in New Issue
Block a user