在存储库类中使用swiftmailer

时间:2013-12-02 06:50:18

标签: symfony

我正在尝试在symfony2中的存储库类中发送电子邮件,但是我收到此错误:

错误:

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

代码是:

public function sendMail()
{
    $message = \Swift_Message::newInstance()
        ->setSubject('Hello Email')
        ->setFrom('send@example.com')
        ->setTo('info@test.com')
        ->setBody("Salam dadash kheili khosh omadi");
    $this->get('mailer')->send($message);
}

我应该改变或做什么? TNX

1 个答案:

答案 0 :(得分:2)

从存储库类中执行此操作并不是一个好主意。它应该被移动到某个服务并作为事件或以最简单的方式调用 - 来自Controller。存储库类实际上只做数据库事务。

在您的情况下,问题出现在$ this-> get('mailer')中,因为您在存储库中无法访问容器。将此部分移动到控制器类中,一切都会好的。