sql >> Databáze >  >> RDS >> PostgreSQL

Jak používat vnitřní spojení s poddotazy v Laravel Eloquent

to fungovalo (ignorujte dynamické věci, jako je tato->getClassName atd.).. základní logika funguje dobře

public function scopeAddTranslations($query)
{
    $t = new Translation();

    $subq = $t->select('item','text as ref_ar')
              ->where('locale','=','ar')
              ->where('item','like',$this->getClassName().'.ref%');

    $query->leftjoin(\DB::raw('('.$subq->toSql().') as t'), 
      function ($join) use ($subq) { 
          $join->on(\DB::raw('SUBSTRING('.$this->getTable().'.ref_translation 
                              FROM 14 FOR 26)'),
                                 '=',
                                 \DB::raw('t.item'))
                   ->addBinding($subq->getBindings());
            });
    return $query;
}



  1. Jak spočítat, kolik lékařů je objednaných každým pacientem?

  2. ElasticSearch river JDBC MySQL nemaže záznamy

  3. Jak vybrat uvnitř smyčky FOR pro další výpočty?

  4. MySQL:Neplatné použití skupinové funkce