Tahanie dát z DB bez id podľa záznamu v tabuľke

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
SontoEremo
Člen | 341
+
0
-

Zdravím …
Vopred sa ospravedlňujem za čudesný názov témy a prosím kompetentných o opravu správneho názvu :)

Takže môj problém

Mám túto tabuľku

CREATE TABLE IF NOT EXISTS `configs` (
  `config_name` varchar(255) COLLATE utf8_bin NOT NULL,
  `config_value` varchar(255) COLLATE utf8_bin NOT NULL,
  `is_dynamic` tinyint(1) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`config_name`),
  KEY `is_dynamic` (`is_dynamic`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

Kde to vyzerá asi nasledovne

config_name| config_value| is_dynamic
-----------|-------------|-----------
site_desc  | description | 0
sitename   | Page Name 	 | 0

a v ConfigsModel.php

public function parameterFind()
	{
		return $this->findAll()
					->select('config_value')
					->group('config_value')
					->fetch();
	}

v BasePresenteri.php

public function beforeRender()
	{
	 // Page Name
	 $this->template->showConfigs = $this->vp_configs->parameterFind();
	}

No a nakoniec v šablóne @layout.latte a v includovanej šablóne main_haed.latte toto
@layout.latte

<title>{include #title} &bull;
{foreach $showConfigs as $showConfig}
{$showConfig}
{/foreach}
</title>

main_haed.latte

<span class="logo-txt">
{foreach $showConfigs as $showConfig}
{$showConfig}
{/foreach}
   </span>

Potreboval by som dosiahnuť toho aby stačilo do šablóny vložiť iba

<title>{$showConfigs->sitename}</title>
kde výsledok by bol Page Name a
<span>{$showConfigs->site_desc}</span>
kde výsledok by bol description

Síce mi to teraz ukazuje výsledok Page Name ale viem, že je to hlúpo napísané…
Ďakujem vopre za akékoľvek nakopnutie.

Tabetha
Člen | 140
+
0
-

No skúsil by som niečo takéto či ti to pomôže … a neviem či to nebude potrebné prekonvertovať na object z array

public function parameterFind()
    {
        return $this->findAll()
		->select('config_value, config_name')
        	->group('config_value')
		->fetchPairs('config_name','config_value');
    }

Editoval Tabetha (3. 6. 2013 16:04)

SontoEremo
Člen | 341
+
0
-

Tabetha napsal(a):

No skúsil by som niečo takéto či ti to pomôže … a neviem či to nebude potrebné prekonvertovať na object z array

public function parameterFind()
    {
        return $this->findAll()
		->select('config_value, config_name')
        	->group('config_value')
		->fetchPairs('config_name','config_value');
    }

Aj to som skúsil
ale akonáhle dám napr. do

<title>{$showConfigs->sitename}</title>
alebo
<title>{foreach $showConfigs as $showConfig}{$showConfig->sitename}{/foreach}</title>

Skončí to chybou
Notice

Trying to get property of non-object

Tabetha
Člen | 140
+
0
-

tak v tom prípade pristupuješ k Array ako k Object … bud to zmen na

<title>{$showConfigs['sitename']}</title>

alebo

$this->template->showConfigs = (object) $this->vp_configs->parameterFind();
SontoEremo
Člen | 341
+
0
-

Tabetha napsal(a):

tak v tom prípade pristupuješ k Array ako k Object … bud to zmen na

<title>{$showConfigs['sitename']}</title>

alebo

$this->template->showConfigs = (object) $this->vp_configs->parameterFind();

Aaaaa sakra máš recht
Funguje perfektne

<title>{$showConfigs['sitename']}</title>

Ja som to síce skúšal ale z inou formácou v ConfigsModel.php
Ďakujem.