我正在尝试在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
答案 0 :(得分:2)
从存储库类中执行此操作并不是一个好主意。它应该被移动到某个服务并作为事件或以最简单的方式调用 - 来自Controller。存储库类实际上只做数据库事务。
在您的情况下,问题出现在$ this-> get('mailer')中,因为您在存储库中无法访问容器。将此部分移动到控制器类中,一切都会好的。