2011-10-08 18 views
2

Doctrine2允許您使用基於字段名稱的魔法查找器進行查詢。如果您有一個名爲User的實體,則應該能夠調用$repo->findOneByUsernameAndPassword(),假定該實體具有用戶名和密碼字段。Doctrine2和更多領域無法正常工作的魔法發現者?

我該如何傳遞參數給魔法發現者?如何查詢實際上是關係的字段?

我已經試過:

$repo->findOneByUsernameAndPassword('Jhon', 'password') 

$repo->findOneByUsernameAndPassword(array('Jhon', 'password')) 

但我得到的錯誤:

Entity 'User' has no field 'usernameAndPassword'. You can therefore not call 'findOneByUsernameAndPassword'

+1

這是可能的教義1.你在哪裏讀它是可能的學說2的更多信息? – greg0ire

+0

不記得了。也許我錯了?如果你確定然後回答這個問題,我會接受它。 – gremo

回答

4

我找不到這方面的任何參考語法與教條2,雖然它可能與教條1。我自己然後使用它和REM燼有問題得到它的工作。 現在你寧願做我猜:

$repo->findOneBy(array('username' => 'Jhon', 'password' => 'password')); 

你可以在this § of the Doctrine 2 documentation

+0

謝謝。我發現奇怪的是,這樣一個很好的功能已被刪除。無論如何,這是保持代碼清潔的另一種方式:http://symfony.com/doc/current/book/doctrine.html#custom-repository-classes – gremo