Puncte:2

Cum pot specifica tipul de relație între două entități?

drapel ye

Sunt noi doi Drupal

Încercarea de a crea două entități, Post și Categorie (Acesta este pentru teste)

A Post poate avea unul Categorie, și a Categorie poate avea mai multe Post

Iată implementarea mea a domeniului categorie_id pe Post entitate:

  $fields['category_id'] = BaseFieldDefinition::create('entity_reference')
  ->setLabel(t('Categorie'))
  ->setDescription(t('Numele categoriei asociate.'))
  ->setSetting('target_type', 'test_category')
  ->setSetting('handler', 'implicit');

Întrebările mele sunt:

  1. Există o modalitate de a defini tipul de relație (hasOne în acest caz)
  2. Care este scopul manipulatorului? dacă cineva îmi poate indica o documentație care explică ce putem face cu un handler în astfel de situații.
  3. Pe Categorie entitate, ar trebui să fac referire la Post entitate pentru a obține postări dintr-o categorie, de exemplu.

Folosesc Drupal 9.3, am un fundal Symfony

leymannx avatar
drapel ne
Probabil că ar trebui să utilizați termeni de taxonomie pentru categorii. Este deja încorporat faptul că fiecare pagină de termeni afișează apoi tot conținutul asociat cu aceasta.
beta-developper avatar
drapel ye
Sunt total de acord. A Am spus că sunt nou în Drupal și încerc să înțeleg conceptele de bază.
leymannx avatar
drapel ne
Văd. Vă puteți imagina poate ca o interogare în baza de date „obțineți toate postările care au selectată categoria X”. Pentru asta nu este nevoie să aveți postările stocate în categorie. O singură cale este suficientă pentru a avea mai târziu rezultatul corect în ambele sensuri.
Puncte:3
drapel cn
  1. Nu, referințele la entități nu sunt sinonime cu relațiile DB; din experiența mea, rareori ajută să mă gândesc la ele ca atare.

  2. Este handlerul de selecție a entității; pluginul care gestionează ce entități sunt disponibile pentru a fi adăugate la instanța de câmp. Vedea https://www.axelerant.com/blog/writing-entity-reference-selection-plugin de exemplu.

  3. Ai putea, dar s-ar putea să nu aibă niciun rost - câmpurile nu vor ști unul despre celălalt sau nu vor interacționa între ele, așa că ai ajunge să reușești să separați câmpurile pentru aceeași relație, ceea ce este pur și simplu incomod. Vizualizările au o caracteristică de relație de referință inversă a entității, așa că, în funcție de cerințe, funcționalitatea de care aveți nevoie ar putea fi deja acolo.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.