2013-12-02 2 views
0

Я пытаюсь отправить электронную почту в хранилище класса в Symfony2, но я получаю эту ошибку:Использование SwiftMailer в хранилище класса

Ошибка:

Undefined method 'get'. The method name must start with either findBy or findOneBy! 

код:

public function sendMail() 
{ 
    $message = \Swift_Message::newInstance() 
     ->setSubject('Hello Email') 
     ->setFrom('[email protected]') 
     ->setTo('[email protected]') 
     ->setBody("Salam dadash kheili khosh omadi"); 
    $this->get('mailer')->send($message); 
} 

Что я должен изменить или сделать? tnx

ответ

2

Это нехорошая идея сделать это из класса репозитория. Его следует перенести на некоторую службу и назвать как событие или самым простым способом - от контроллера. Класс репозитория действительно делает только вещи базы данных.

В вашем случае проблема в $ this-> get ('mailer'), потому что вы находитесь в репозитории, вы не можете получить доступ к контейнеру. Переместите эту часть в класс контроллера, и все будет в порядке.

Смежные вопросы