name)) { $this->name = 'account_id'; } $this->path = route('modals.accounts.create'); if (empty($this->accounts) && ! empty($this->options)) { $this->accounts = $this->options; } else if (empty($this->accounts)) { $this->accounts = $this->getAccounts(); } $model = $this->getParentData('model'); $account_id = old('account.id', old('account_id', null)); if (! empty($account_id)) { $this->selected = $account_id; if (! $this->accounts->has($account_id)) { $account = Model::with(['transactions', 'income_transactions', 'expense_transactions', 'currency'])->find($account_id); $this->accounts->push($account); } } if (! empty($model) && ! empty($model->{$this->name})) { $this->selected = $model->{$this->name}; $selected_account = $model->account; } if (! empty($selected_account) && ! $this->accounts->contains('id', $selected_account->id)) { $this->accounts->push($selected_account); } if ($this->selected === null) { $this->selected = setting('default.account'); } // Share accounts with all views view()->share('accounts', $this->accounts); return view('components.form.group.account'); } protected function getAccounts() { if ($this->hideCurrency) { return Model::with(['transactions', 'income_transactions', 'expense_transactions', 'currency'])->enabled()->orderBy('name')->get(); } return Model::with(['transactions', 'income_transactions', 'expense_transactions', 'currency'])->enabled()->orderBy('name')->get(); } }