contas com unit_id null; * - franchisee: unit_id da unidade ativa => contas daquela unidade. */ public function getAll(?int $unitId = null): Collection { return TreasuryAccount::query() ->when( $unitId !== null, fn ($query) => $query->where('unit_id', $unitId), fn ($query) => $query->whereNull('unit_id'), ) ->orderBy('created_at', 'desc') ->get(); } public function findById(int $id): ?TreasuryAccount { return TreasuryAccount::find($id); } public function create(array $data): TreasuryAccount { // Sem unit_id => conta da rede (franqueador). Com unit_id => conta da unidade (franchisee). $data['unit_id'] = $data['unit_id'] ?? null; return TreasuryAccount::create($data); } public function update(int $id, array $data): ?TreasuryAccount { $model = $this->findById($id); if (!$model) { return null; } $model->update($data); return $model->fresh(); } public function delete(int $id): bool { $model = $this->findById($id); if (!$model) { return false; } return $model->delete(); } // Add custom business logic methods here }