tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Problém s definicí filtru, chyba „Malformed filter name given“

pavelplzak
Člen | 20

Ahojte, snažím se v anotaci v entitě nadefinovat filter:

/**
@property ProductScreenshot[] $screenshots m:belongsToMany(product_id:product_screenshots) m:filter(LeanMapperFilters::addOrderBy)
*/

Ale háže mi to výjimku Malformed filter name given: ‚LeanMapperFilters::addOrderBy‘. Vidí někdo co je na tom zápise špatně? Tu výjimku to vyhazuje protože reguláru v LeanMapper\Reflection\PropertyFilters

preg_match('~^([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)(?:#(.*))?$~', $filter, $matches);

neodpovídá řetězec LeanMapperFilters::addOrderBy

LeanMapper v nejnovější verzi.

Díky!

Tharos
Člen | 1042

Ahoj,

hodnota v příznaku m:filter už delší dobu nereprezentuje staticky volanou funkci (metodu), nýbrž název filtru, který musím být zaregistrován v LeanMapper\Connection pomocí LeanMapper\Connection::registerFilter.

Pro název filtru pak platí stejná pravidla, jako pro název funkcí v PHP. Ten regulár je odvozený přímo z reguláru v PHP dokumentaci.