sql >> Database >  >> RDS >> PostgreSQL

Hoe innerlijke joins te gebruiken met subquery's in Laravel Eloquent

dit werkte (negeer de dynamische dingen zoals dit->getClassName enz.).. de basislogica werkt prima

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. php, mysql - Te veel verbindingen met databasefout

  2. Hoe overlappende tijden in Rails te valideren met postgresql

  3. Waarom negeert Oracle de index met ORDER BY?

  4. Tijdstempels lezen bij het importeren van gegevens in SQL Developer