Puncte:0

Adăugarea unei comparații condiționate a două coloane în relație

drapel ma

Încerc să pun o comparație de valoare în timp ce creez relații. Când dau valoare directă, funcționează perfect. dar am vrut să trec numele coloanei cu alias pentru a obține rezultatele necesare.

Acesta funcționează bine

$this->query->add_where(
        $this->options['grup'],
        db_and()
          ->condition("class.end_time", 1625047346 , '<=')
    );

ieșire
UNDE ((( (class.end_time <= 1625047346) ))ȘI ...............

Asta nu merge. ia alias.column ca valoare

$this->query->add_where(
        $this->options['grup'],
        db_and()
          ->condiție ("class.end_time", "class1.end_time" , '<=')
    );

ieșire
UNDE ((( (class.end_time <= 'class.end_time') ))ȘI ...............

Puncte:0
drapel ma

Am gasit o solutie. Tocmai am trecut toate condițiile ca text suplimentar după alăturare și funcționează.

Așa am transmis text în timp ce mă alăturam două tabele. Puteți trece suplimentar în timp ce construiți unirea ca al cincilea parametru.

clasa mymodule_booking_classes_relationship extinde views_handler_relationship {

    interogare de funcție() {
    
        $extra = "class.end_time <= class1.start_time ";
        $extra .= " sau class.start_time >= class1.end_time ";

        $join3 = noi views_join;
        $join3->construct('class_table', 'node', 'nid', 'course_id', $extra, 'INNER'); 
        $this->alias = $this->query->add_relationship('class1', $join3, 'class1');

    }
}

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.