nhance/app/Models/ExpenseModel.php

74 lines
1.8 KiB
PHP

<?php
namespace App\Models;
use CodeIgniter\Model;
class ExpenseModel extends Model
{
protected $table = 'expenses';
protected $primaryKey = 'id';
protected $DBGroup = 'default';
protected $useAutoIncrement = true;
protected $returnType = 'array';
protected $useSoftDeletes = false;
protected $protectFields = true;
protected $allowedFields = [
'id',
'client_id',
'client_policy_id',
'description',
'approved_by',
'amount',
'expense_date',
'created_at',
'created_by',
'updated_at',
'updated_by',
'is_active',
];
// Callbacks
protected $allowCallbacks = true;
protected $beforeInsert = ['setCreatedBy'];
protected $afterInsert = [];
protected $beforeUpdate = ['setUpdatedBy'];
protected $afterUpdate = [];
protected $beforeFind = [];
protected $afterFind = [];
protected $beforeDelete = [];
protected $afterDelete = [];
protected function setCreatedBy(array $data): array
{
if (empty($data['data']['created_by'])) {
$data['data']['created_by'] = get_session_userid();
}
if (empty($data['data']['created_at'])) {
$data['data']['created_at'] = date('Y-m-d H:i:s');
}
if (! isset($data['data']['is_active'])) {
$data['data']['is_active'] = 1;
}
return $data;
}
protected function setUpdatedBy(array $data): array
{
if (empty($data['data']['updated_by'])) {
$data['data']['updated_by'] = get_session_userid();
}
if (empty($data['data']['updated_at'])) {
$data['data']['updated_at'] = date('Y-m-d H:i:s');
}
return $data;
}
}