setModel($this->getModel(), [$key]); } return $record; } public function getRecord(): Model { return $this->record; } public function getRecordTitle(): string | Htmlable { $resource = static::getResource(); if (! $resource::hasRecordTitle()) { return Str::headline($resource::getModelLabel()); } return $resource::getRecordTitle($this->getRecord()); } /** * @return array */ public function getBreadcrumbs(): array { $resource = static::getResource(); $breadcrumbs = [ $resource::getUrl() => $resource::getBreadcrumb(), ]; $record = $this->getRecord(); if ($record->exists && $resource::hasRecordTitle()) { if ($resource::hasPage('view') && $resource::canView($record)) { $breadcrumbs[ $resource::getUrl('view', ['record' => $record]) ] = $this->getRecordTitle(); } elseif ($resource::hasPage('edit') && $resource::canEdit($record)) { $breadcrumbs[ $resource::getUrl('edit', ['record' => $record]) ] = $this->getRecordTitle(); } else { $breadcrumbs[] = $this->getRecordTitle(); } } $breadcrumbs[] = $this->getBreadcrumb(); return $breadcrumbs; } protected function afterActionCalled(): void { if ($this->getRecord()->exists) { return; } // Ensure that Livewire does not attempt to dehydrate // a record that does not exist. $this->record = null; } }