Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chyba v suggest #100

Closed
martinknor opened this issue Feb 3, 2014 · 6 comments
Closed

Chyba v suggest #100

martinknor opened this issue Feb 3, 2014 · 6 comments
Labels

Comments

@martinknor
Copy link

Nemělo by být v suggest distinct na aktuální sloupec nebo group by? Protože pokud je v tabulce více stejných záznamů, tak suggest nabízí jen některé z nich podle limitu. Jedná se o chybu pravděpodobně ve všech datasources.

@o5
Copy link
Owner

o5 commented Feb 23, 2014

Pošli sem pls strukturu tabulky (chci vidět sloupce) + sql dotaz.

Grido používám na opravdu mnoho místech v projektu a tohle jsem zatím řešit nemusel.

@martinknor
Copy link
Author

Jedná se o problém kdy máš např. dotaz na objednávky, posledních 10 objednávek má zákazník Jan Novák, a pak další lidé. Dotaz na suggest vezme limitem posledních 10 objednávek (kvůli limitu - a všechny se jménem Jan Novák - 1 zákazník) a tím pádem pokud napíši do suggest "Jan", napíše mi to jen jeden suggest právě z posledního Jana Nováka a ostatní to nehledá. Pokud je někde v tabulce další Jan, je ignorován.

Snad jsem to napsal srozumitelně :)

Dá se to opravit distinctem nebo groupem na suggest sloupec.

@o5
Copy link
Owner

o5 commented Feb 23, 2014

Jo jasně, už chápu :) Já jsem raději pro DISTINCT co myslíš ty?

@martinknor
Copy link
Author

Taky jsem to vyřešil distinctem, je to rychlejší a hezčí :)

@o5
Copy link
Owner

o5 commented Feb 23, 2014

Náhodou řešení pro Doctrine nemáš?

Chce to IMHO odstranit SELECT část vyklonovaného query builderu, ale netuším jak se to dělá. Pro DibiFluent je to takto:

public function suggest($column, array $conditions, $limit)
{
    $fluent = clone $this->fluent;
    $fluent->removeClause('SELECT')->select("DISTINCT $column");
    ...
}

@martinknor
Copy link
Author

Mám jen vlastní datasource PropelORM, nevím jestli to není v doctrine podobné - nepoužívám ho

 $modelCriteria->select($column)->setDistinct()->find();

@o5 o5 mentioned this issue Mar 6, 2014
5 tasks
@o5 o5 added the BUG label Mar 6, 2014
@o5 o5 closed this as completed in 41e1626 Mar 25, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants