Použití paginatoru na query s JOINem
- riski
- Člen | 53
Zdravím, potřeboval bych poradit proč mi nejde použít visual paginator na select s joinem. Používám nette database a query příkaz vypadá asi takt:
->query('SELECT * FROM user u JOIN friend f ON f.user_id = ' . $userId . ' WHERE u.id = f.friend_id ORDER BY u.nickName ASC');
a končí to na chybě v paginátoru při počítání vypsaných položek:
$paginator->itemCount = $values->count('*'); // Call to undefined method Nette\Database\Statement::count();
Asi budu mít nějakou chybu v tom selektu, ale bez paginatoru se položky normálně vypíšou…
- Oli
- Člen | 1215
Bude to nějak takhle:
$selection->where('friend.user_id = ?', $userId)->order('nickName ASC');
- riski
- Člen | 53
Oli napsal(a):
Bude to nějak takhle:
$selection->where('friend.user_id = ?', $userId)->order('nickName ASC');
Díky za radu, ale ještě by mě zajímalo proč při tomto :
$selection->where('friend.user_id = ?', $userId);
mi to hodí chybu že neexistuje slupec user.friend_id (on taky neexistuje ale nechápu proč by tam měl být ?) chci vypsat kamarády uživatele podle vazební tabulky…
- honos
- Člen | 109
riski napsal(a):
Zdravím, potřeboval bych poradit proč mi nejde použít visual paginator na select s joinem. Používám nette database a query příkaz vypadá asi takt:
->query('SELECT * FROM user u JOIN friend f ON f.user_id = ' . $userId . ' WHERE u.id = f.friend_id ORDER BY u.nickName ASC'); ...
Myslim ze na to je methoda getRowCount()
EDIT: Zkuste hledat lidi … je tu API !!!
Editoval honos (1. 2. 2014 6:08)