Sorry, my first answer came in blank because I apparently replied to it from my phone, which was in my pocket - now trying to figure out how many mails I've sent like that :-)
On 3 February 2014 19:44, Parsifal <[email protected]> wrote: > > HI, > > I used: > > $query = $em->createQuery('SELECT u.username FROM Entities\clients u'); > $users = $query->getResult(); > print_r($users); > > Then: > .. > [1] => Array > ( > [username] => ksazkhdca > ) > > Wow! finally with the help of Marco and Hermann I got it worked! Thanks a > lot to them! > > Just a few questions then I'll be fine: > 1) In order to use PHP metadata files in /entities/ folder, this is my job > to write an autoloader()? or there is a built-in autoloader I may use? if > yes, how? or since the folder name is /entities/ autoloader loads them by > default? > There is no automagic autoloading process - you need to setup autoloading on your own. Composer can provide this functionality to you. > > 2) ApcCache, MemCache etc. are not installed in most of shared hostings so > my users may have problem so is it good to allow them to use ArrayCache() > if they don't have them installed? > Any Doctrine\Common\Cache\Cache implementation is fine, but ArrayCache will be very slow for production systems. > > 3) I am allowing users to set a table prefix in config.php during > installation, according to Guide I am using this in bootsrap.php: > > $evm = new Doctrine\Common\EventManager; > $tablePrefix = new Doctrine\ORM\DoctrineExtensions\TablePrefix($db_prefix); > $evm->addEventListener(Doctrine\ORM\Events::loadClassMetadata, > $tablePrefix); > but the prefix is hard-coded in generated entity file as below: > > $metadata->setPrimaryTable(array( > 'name' => 'prefix_clients', > > How should I edit this line? > The metadata loading event is fired _after_ metadata has been loaded, therefore the TablePrefix listener will be able to work correctly. > > 4) In some cases I still need to use NativeQuery, I used the following 2 > ways but not yet worked, please advice: > > a) > use Doctrine\ORM\Query\ResultSetMapping; > $rsm = new Doctrine\ORM\Query\ResultSetMapping(); > $qb = $em->createQueryBuilder(); > $query = $qb->getQuery(); > $query = $em->createNativeQuery('SELECT*FROM prefix_clients', $rsm); > $array = $query->getArrayResult(); > print_r($array); > > b) > $rsm = new Doctrine\ORM\Query\ResultSetMapping; > $rsm->addEntityResult('PrefixClients', 'u'); > $rsm->addFieldResult('u', 'client_id', 'clientId'); > $rsm->addFieldResult('u', 'first_name', 'firstName'); > $query = $em->createNativeQuery('SELECT client_id, first_name FROM > prefix_clients WHERE username = ?', $rsm); > $query->setParameter(1, 'blah'); > $users = $query->getResult(); > print_r($users); > You need to debug into that, see http://codingkilledthecat.wordpress.com/2012/06/26/how-to-ask-for-programming-help/ Marco Pivetta http://twitter.com/Ocramius http://ocramius.github.com/ -- You received this message because you are subscribed to the Google Groups "doctrine-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/doctrine-user. For more options, visit https://groups.google.com/groups/opt_out.
