sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan bruger du indre sammenføjninger med underforespørgsler i Laravel Eloquent

dette virkede (ignorer de dynamiske ting som dette->getClassName osv.) den grundlæggende logik fungerer fint

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. AWS RDS Postgres-forbindelsesfejl

  2. Sammenføjning af tabeller fra to databaser ved hjælp af codeigniter

  3. PHPmailer - Flere afsendelser af e-mail

  4. Billeder i MySQL