logologo
Start
Handbuch
Entwickler
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Handbuch
Entwickler
Plugins
API
logologo
API-Überblick

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Cache

@nocobase/cli

NocoBase CLI
Globale Umgebungsvariablen

@nocobase/client

Anwendung
Plugin

@nocobase/database

Sammlung
Feld

interfaces

BaseInterface
Filter-Operatoren

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repository

shared

create-options
destroy-options
find-one
find-options
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
Datenquelle (abstrakt)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

DataSourceManager
FlowContext
FlowEngine
FlowModel
Workflow-Ressource

@nocobase/logger

Logger

@nocobase/server

AppCommand
Anwendung
AuditManager
Kontext
Migration
Plugin

@nocobase/sdk

Auth
Speicher
Previous PageHasManyRepository
Next PageRepository
KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#HasOneRepository

#Übersicht

HasOneRepository ist das Repository für HasOne-Beziehungen.

const User = db.collection({
  name: 'users',
  fields: [
    { type: 'hasOne', name: 'profile' },
    { type: 'string', name: 'name' },
  ],
});

const Profile = db.collection({
  name: 'profiles',
  fields: [{ type: 'string', name: 'avatar' }],
});

const user = await User.repository.create({
  values: { name: 'u1' },
});

// Das zugehörige Repository abrufen
const userProfileRepository = User.repository
  .relation('profile')
  .of(user.get('id'));

// Kann auch direkt initialisiert werden
new HasOneRepository(User, 'profile', user.get('id'));

#Klassenmethoden

#find()

Sucht das zugehörige Objekt.

Signatur

  • async find(options?: SingleRelationFindOption): Promise<Model<any> | null>

Typ

interface SingleRelationFindOption extends Transactionable {
  fields?: Fields;
  except?: Except;
  appends?: Appends;
  filter?: Filter;
}

Details

Die Abfrageparameter entsprechen denen von Repository.find().

Beispiel

const profile = await UserProfileRepository.find();
// Gibt null zurück, wenn das zugehörige Objekt nicht existiert

#create()

Erstellt ein zugehöriges Objekt.

Signatur

  • async create(options?: CreateOptions): Promise<Model>

Beispiel

const profile = await UserProfileRepository.create({
  values: { avatar: 'avatar1' },
});

console.log(profile.toJSON());
/*
{
  id: 1,
  avatar: 'avatar1',
  userId: 1,
  updatedAt: 2022-09-24T13:59:40.025Z,
  createdAt: 2022-09-24T13:59:40.025Z
}
*/

#update()

Aktualisiert das zugehörige Objekt.

Signatur

  • async update(options: UpdateOptions): Promise<Model>

Beispiel

const profile = await UserProfileRepository.update({
  values: { avatar: 'avatar2' },
});

profile.get('avatar'); // 'avatar2'

#remove()

Entfernt das zugehörige Objekt. Dies löst lediglich die Verknüpfung auf, ohne das zugehörige Objekt zu löschen.

Signatur

  • async remove(options?: Transactionable): Promise<void>

Details

  • transaction: Transaktionsobjekt. Wird kein Transaktionsparameter übergeben, erstellt die Methode automatisch eine interne Transaktion.

Beispiel

await UserProfileRepository.remove();
(await UserProfileRepository.find()) == null; // true

(await Profile.repository.count()) === 1; // true

#destroy()

Löscht das zugehörige Objekt.

Signatur

  • async destroy(options?: Transactionable): Promise<Boolean>

Details

  • transaction: Transaktionsobjekt. Wird kein Transaktionsparameter übergeben, erstellt die Methode automatisch eine interne Transaktion.

Beispiel

await UserProfileRepository.destroy();
(await UserProfileRepository.find()) == null; // true
(await Profile.repository.count()) === 0; // true

#set()

Setzt das zugehörige Objekt.

Signatur

  • async set(options: TargetKey | SetOption): Promise<void>

Typ

interface SetOption extends Transactionable {
  tk?: TargetKey;
}

Details

  • tk: Der targetKey des zu setzenden zugehörigen Objekts.
  • transaction: Transaktionsobjekt. Wird kein Transaktionsparameter übergeben, erstellt die Methode automatisch eine interne Transaktion.

Beispiel

const newProfile = await Profile.repository.create({
  values: { avatar: 'avatar2' },
});

await UserProfileRepository.set(newProfile.get('id'));

(await UserProfileRepository.find()).get('id') === newProfile.get('id'); // true