我使用Yii2框架和Swiftmailer在PHP中编程。将错误消息返回到数据库字段:Yii2和Swiftmailer
我想找到一种方法来更新数据库字段与错误消息。当用户尝试创建帐户并且他声明的电子邮件不是有效的电子邮件地址FailMesg应更新错误消息。 我已经尝试了两种不同的方式做,但没有一个似乎工作(数据库字段保持为空):
1日(以发送包含变量()方法)
$message = Swift_Message::newInstance()
->………..
$transport = ………………
$mailer = Swift_Mailer::newInstance($transport);
if($mailer->send($message, $failures)){
……..
else
……..
$user->FailMesg = $failures;
........
$user->save();
2日(使用该记录器插件)
$message = Swift_Message::newInstance()
->………..
$transport = ………………
$mailer = Swift_Mailer::newInstance($transport);
$logger = new \Swift_Plugins_Loggers_ArrayLogger();
$mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($logger));
if($mailer->send($message)){
……..
else
……..
$user->FailMesg = $logger->dump();
........
$user->save();
我失去了一些东西在这里?任何建议将不胜感激。
从你提供的代码示例中,我看不到你调用'用户>保存()'实际上节省'$的价值用户 - > FailMesg'到数据库中。我假设'$ user'是'User'模型的一个对象,FailMesg'字段存在于相应的'user'表中。 – sm1979
你假设正确。当然,我包含'$ user-> save()'命令,只是忘了包含,对不起,我会编辑最初的问题。 - @ sm1979 – YorKal
你可以包括你的“规则”吗?验证可能会影响您的保存。 – topher