Propojení 2 databází a získání dat zpět

jAkErCZ
Člen | 321
+
0
-

Zdravím,
mám takový problém mám 2 databáze a to

database2

a

database3

Z databáze 2 si vytahuji data dle ID což funguje v pořádku… ale teď bych potřeboval abych dle CompanyID které se nachází v databázi 2 vrátilo jméno z databáze 3

Tím že spojitost mezi **databází 2 (CompanyID) a 3(ID) **

Mám něco takového

public function getCompanyIdentification($ID = 0) {

      $webPages = $this->database3->table(self::TABLE_COMPANY_IDENTIFICATION)->where('ID = ?', $ID);

      $companyIds = [];
      foreach ($webPages as $webPage) {
          $companyIds[] = $webPage->CompanyID;
      }

      $companies = $this->database2->table(self::TABLE_COMPANY)->where(['ID' => $companyIds])->fetchPairs('ID','Name');

      $webPagesAsArray = [];
      foreach ($webPages as $webPage) {
          $webPageAsArray = $webPage->toArray();
          $webPageAsArray['Company'] = isset($companies[$webPageAsArray['CompanyID']]) ? $companies[$webPageAsArray['CompanyID']] : null;
          $webPagesAsArray[] = $webPageAsArray;
      }
      return $webPagesAsArray;
  }

Ale nevrací mě to jméno té firmy tak jak bych chtěl…

tady si to volám v datagridu

 public function createComponentCompanyIdetification($name) {

        $manager = $this->traficManager;

        $grid = new DataGrid($this, $name);

        $grid->setPrimaryKey('ID');

        $grid->setDataSource($manager->getCompanyIdentification());

        $grid->getInlineEdit()->onCustomRedraw[] = function() use ($grid) {
            $grid->redrawControl();
        };
                      bdump($manager->getCompanyIdentification());
        $grid->addColumnText('CompanyID', 'id.companyid')
                ->setSortable()
                ->addAttributes(['class' => 'text-center']);

}

Nevíte někdo jak na to?

matopeto
Člen | 395
+
0
-

hm…

podla popisu:

Z databáze 2 si vytahuji data dle ID což funguje v pořádku… ale teď bych potřeboval abych dle CompanyID které se nachází v databázi 2 vrátilo jméno z databáze 3

ale v kode robis uplny opak z 3 tahas id, a z 2 tahas mena :) nebude problem v tom? :)

jAkErCZ
Člen | 321
+
0
-

matopeto napsal(a):

hm…

podla popisu:

Z databáze 2 si vytahuji data dle ID což funguje v pořádku… ale teď bych potřeboval abych dle CompanyID které se nachází v databázi 2 vrátilo jméno z databáze 3

ale v kode robis uplny opak z 3 tahas id, a z 2 tahas mena :) nebude problem v tom? :)

Ajo sem vůl napsal sem to obráceně s database3 si vytahuji data dle ID a v database2 chci pomocí CompanyID vytáhnout jméno firmy.

Zuben45
Člen | 268
+
0
-

jAkErCZ napsal(a):

$grid->addColumnText('CompanyID', 'id.companyid')
        ->setSortable()
        ->addAttributes(['class' => 'text-center']);

nebude to tím, že v getCompanyIdentification přepisuješ index Company a v datagridu žádáš CompanyID ? :)