דלג לתוכן הראשי
המודול entities מאפשר לך לעבוד עם הנתונים של האפליקציה שלך. לכל סוג ישות באפליקציה שלך יש מתודות ליצירה, קריאה, עדכון ומחיקה של רשומות. אתה ניגש למתודות הישות דרך שם הישות שלך: base44.entities.YourEntityName.methodName(). לדוגמה, אם יש לך ישות Task, אתה משתמש ב-base44.entities.Task.list() כדי לקבל רשימת משימות.
צור טיפוסי TypeScript מהישויות שלך כדי לקבל השלמה אוטומטית ובטיחות טיפוסים. הרץ base44 types generate בפרויקט שלך, וכל שדות הישות, המתודות וטיפוסי ההחזרה יהיו מוקלדים במלואם. למד עוד על טיפוסים דינמיים.

הרשאות

גישה לנתונים נשלטת על-ידי מצב האימות של הלקוח וכללי ההרשאות של האפליקציה שלך. ניתן להגדיר את ההרשאות לכל ישות בהגדרות האבטחה של האפליקציה שלך. למד עוד על שינוי הרשאות נתונים.
  • משתמשים אנונימיים: יכולים לגשת רק לישויות המסומנות כציבוריות.
  • משתמשים מאומתים: יכולים לגשת לישויות ורשומות שיש להם הרשאה לצפות בהן או לשנות אותן על סמך כללי הגישה שהוגדרו באפליקציה שלך.
  • תפקיד service: יכול לגשת לכל הישויות והרשומות הזמינות ל-admin של האפליקציה.
בקוד backend, ניתן להשתמש בתפקיד service כדי לגשת לנתונים עם הרשאות admin.

יצירת רשומות

השתמש ב-create() כדי להוסיף רשומות חדשות לישות:
const newTask = await base44.entities.Task.create({
  title: "Complete documentation",
  status: "pending",
  dueDate: "2024-12-31",
});

קריאת רשומות

אחזר נתונים באמצעות get() לרשומה בודדת, list() לכל הרשומות, או filter() לרשומות התואמות לקריטריונים ספציפיים. השתמש ב-get() עם מזהה רשומה כדי לאחזר רשומה ספציפית:
const task = await base44.entities.Task.get(taskId);
השתמש ב-list() כדי לאחזר את כל הרשומות. המתודה תומכת במיון, עימוד ובחירת שדות:
const tasks = await base44.entities.Task.list();
השתמש ב-filter() כדי למצוא רשומות שתואמות לקריטריונים ספציפיים:
const pendingTasks = await base44.entities.Task.filter({
  status: "pending",
});

עדכון רשומות

השתמש ב-update() כדי לשנות רשומה קיימת:
await base44.entities.Task.update(taskId, {
  status: "completed",
});

מחיקת רשומות

השתמש ב-delete() כדי להסיר רשומה בודדת:
await base44.entities.Task.delete(taskId);
השתמש ב-deleteMany() כדי להסיר מספר רשומות התואמות לקריטריונים ספציפיים:
const result = await base44.entities.Task.deleteMany({
  status: "completed",
  priority: "low",
});

פעולות מרובות (bulk)

השתמש ב-bulkCreate() כדי ליצור מספר רשומות בבקשה אחת:
const tasks = await base44.entities.Task.bulkCreate([
  { title: "Task 1", status: "pending" },
  { title: "Task 2", status: "pending" },
  { title: "Task 3", status: "in-progress" },
]);
השתמש ב-importEntities() כדי לייבא רשומות מקובץ CSV. זה שימושי להגירת נתונים או העלאות מרובות מממשקי משתמש:
const handleFileUpload = async (event) => {
  const file = event.target.files?.[0];
  if (file) {
    const result = await base44.entities.Task.importEntities(file);
    console.log(`Imported ${result.output.length} records`);
  }
};
importEntities() דורש סביבת דפדפן ולא ניתן להשתמש בו בקוד backend.

מינויי realtime

השתמש ב-subscribe() כדי לקבל עדכוני realtime כאשר רשומות נוצרות, מתעדכנות או נמחקות:
const unsubscribe = base44.entities.Task.subscribe((event) => {
  console.log(`Task ${event.id} was ${event.type}d`);
  console.log("Updated data:", event.data);
});

// Later, clean up the subscription
unsubscribe();

גישת נתונים עם תפקיד service

כברירת מחדל, גישה לנתונים מוגבלת להרשאות המשתמש הנוכחי. עם אימות תפקיד service, ניתן לגשת לנתונים עם הרשאות ברמת admin. זה אומר שתוכל לגשת לנתונים שלתפקיד admin באפליקציה שלך יש גישה אליהם. השתמש ב-base44.asServiceRole.entities כדי לגשת לנתונים עם הרשאות admin:
// User-level access (limited to current user's permissions)
const myTasks = await base44.entities.Task.list();

// Service role access (admin-level permissions)
const allTasks = await base44.asServiceRole.entities.Task.list();

ישות משתמש

כל אפליקציית Base44 כוללת ישות User מובנית שמאחסנת מידע על חשבון משתמש. לישות זו יש כללי אבטחה מיוחדים:
  • משתמשים רגילים יכולים רק לקרוא ולעדכן את רשומת המשתמש שלהם
  • עם אימות תפקיד service, ניתן לקרוא, לעדכן ולמחוק כל משתמש
  • לא ניתן ליצור משתמשים דרך מודול הישויות - השתמש במודול auth במקום
ניתן להוסיף שדות לישות User כדי לאחסן נתוני משתמש נוספים, ואז להשתמש בשדות אלה בכללי אבטחה כדי לשלוט בגישה לנתונים או באפליקציה שלך כדי להתאים אישית את החוויה. עיין בUser Schema לפרטים.
const allUsers = await base44.asServiceRole.entities.User.list();

ראה עוד

entities module

מסמכי API מלאים

Base44 client

למד על הלקוח ועל תפקיד service
דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.