Puncte:0

Câmp de referință personalizat salvând valori goale

drapel ph

Am creat un câmp personalizat bazat pe câmpul de referință al entității, dar target_id-ul pe care îl salvează provine dintr-un sistem extern.

Am definit și funcțional tipul câmpului, widgetul câmpului și elementul de completare automată, iar valorile corecte sunt salvate în tabelul de bază de date asociat pentru valori valide.

Elementul în care am rămas blocat este că, dacă câmpul este lăsat necompletat, tot salvează o înregistrare în baza de date, dar cu un target_id gol. Cum ar trebui să opresc din a face asta?

Iată implementarea mea pentru isEmpty(), pe care am luat-o din definiția câmpului EntityReference. Bănuiesc că acesta este vinovat, dar nu sunt sigur cum să o repar:

  /**
   * {@inheritdoc}
   */
  funcția publică este goală () {
    $target_id = isset($this->target_id) ? $this->target_id : NULL;
    dacă ($target_id !== NULL) {
      returnează FALSE;
    }
    returnează TRUE;
  }
drapel cn
Ai putea posta implementarea ta a lui `isEmpty()`? Dacă nu aveți unul, este implementarea de bază (`EntityReferenceItem::isEmpty()`) compatibilă cu modificările pe care le face clasa dvs.?
Lambic avatar
drapel ph
@Clive a adăugat. Voi face niște depanare în jurul asta luni, dacă cineva nu oferă o soluție între timp.
Puncte:0
drapel ph

este gol() a fost vinovat aici, dintr-un motiv pe care nu îl înțeleg pe deplin $this->target_id a fost setat la un șir gol în loc de NULL, așa că se schimbă dacă ($target_id !== NULL) Doar pentru dacă ($target_id) repara-l.

Mulțumesc @Clive pentru indiciu.

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.