37 lines
933 B
PHP
37 lines
933 B
PHP
<?php
|
|
|
|
namespace App\Utilities;
|
|
|
|
use Illuminate\Database\Query\Builder;
|
|
|
|
/**
|
|
* 独立月度账单账户。
|
|
*
|
|
* 这些账户的明细只在动账明细专属页展示和汇总,不进入账户总表、每日资金流水、
|
|
* 店铺收支明细或其他动账汇总。
|
|
*/
|
|
final class FinanceLedgerIndependentAccounts
|
|
{
|
|
public const ACCOUNTS = [
|
|
'朱俊祥支付宝',
|
|
'朱俊祥微信',
|
|
];
|
|
|
|
public static function contains(mixed $accountShort): bool
|
|
{
|
|
return in_array(trim((string) $accountShort), self::ACCOUNTS, true);
|
|
}
|
|
|
|
public static function names(): array
|
|
{
|
|
return self::ACCOUNTS;
|
|
}
|
|
|
|
public static function exclude(Builder $query, string $column = 'account_short'): Builder
|
|
{
|
|
return $query->where(function (Builder $scope) use ($column): void {
|
|
$scope->whereNull($column)->orWhereNotIn($column, self::ACCOUNTS);
|
|
});
|
|
}
|
|
}
|