addSelect fetchPairs dva sloupce v názvu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- duke
- Člen | 650
motorcb napsal(a):
Zdravím.
Snažím se do addSelectu nandat hodnoty pro jméno a příjmení. Jak upravím následující kód aby vypsal jmeno a příjmení? Takhle vypisuje jen jméno…$this->context->createUsers()->fetchPairs( 'id', 'first_name' ))
Mělo by to jít takto:
$this->context->createUsers()->select("id, CONCAT_WS(' ', firstname, surname) AS name")->fetchPairs('id', 'name');
Nebo to můžeš spojit až v php, tj.:
array_map(function ($item) {
return "$item[firstname] $item[surname]";
}, $this->context->createUsers()->select('id, firstname, surname')->fetchPairs('id'));
Edit: opraveno chybějící id v selektech
Editoval duke (13. 8. 2012 13:32)
- bo
- Člen | 16
@duke: diky moc, presne toto jsem resil i ja. jenom si te dovolim trochu opravit, zapomnel jsi tam referenci na id, takhle to haze neco jako
no reference found for $users->id
mi funguje:
<?php
$this->context->createUsers()->select("CONCAT_WS(' ', firstname, surname) AS name, id")->fetchPairs('id', 'name');
?>