【问题标题】:Trying to put array of emails into codeigniter email class "to"试图将电子邮件数组放入 codeigniter 电子邮件类“to”
【发布时间】:2017-06-14 19:08:48
【问题描述】:

我正在尝试从我的数据库中的每个人那里提取电子邮件以进行电子邮件更新。我能做到的最好的就是它向第一个人发送一封电子邮件,仅此而已。我无法将它们全部插入...希望有人对此有更多经验。

我的模型拉电子邮件:

 public function getemails ()
 {
     $this->db->select('email');
     $this->db->from('users');
     $this->db->where('status', 1);

     $query = $this->db->get();

     $results = $query->result();

     return $results;
 }

然后在我的库中,我正在编译我的电子邮件:

         if (is_array($to))
         {
                 print_r($to);
                 die;
             foreach ($to as $t)
             {
                 $this->ci->email->to($t['email']);
             }
         }
         else
         {
             $this->ci->email->to($to);
         }

显然 print_r($to) 和 die 命令只是为了检查输出的内容...

我得到了什么:

Array ( [0] => stdClass Object ( [email] => name@email.com ) [1] => stdClass Object ( [email] => name2@email.com ))

等等……

当我将 print_r 放入 foreach 循环中时,我得到:

stdClass Object ( [email] => name@email.com )

在第一封邮件之后没有打印任何内容...所以 $t->email 只返回一封邮件,这对我没有好处...为什么我会丢失所有其他邮件?

【问题讨论】:

  • $this->ci->email->to($t->email);
  • 我刚刚意识到错字以及@u_mulder .... 除此之外,我什至不让它进入代码的那部分,因为我的问题已经存在,我失去了所有,但第一个结果
  • 这是什么意思 - losing?
  • 我不确定您是否可以反复拨打email->to。事先准备好数组,并用它调用一次。你用的是什么版本的php?
  • 我想通了...这对我来说绝对是白痴...这家伙将 die 命令放在 foreach 循环中而不是在它之后-_-

标签: php arrays codeigniter email


【解决方案1】:

希望试试这个;你会得到你想要达到的目标

foreach ($to as $t) {
  echo $t->email . '<br>';
  // $this->ci->email->to($t['email']);
}

【讨论】:

  • 这得到了我:严重性:4096 消息:stdClass 类的对象无法转换为字符串文件名:libraries/Functions.php 行号:235
  • 这与我的模型函数如何提取数据有关吗?它作为数组中的对象返回......我希望它作为一个巨大的数组出现......
  • 是的,编辑仍然只返回第一个结果......我仍然丢失了数组中的所有其他电子邮件
  • 不要在 foreach 循环中使用 die
  • 首先......哇......这很简单,我为那个感到愚蠢......我不敢相信我为......而奋斗......好吧让我们说太愚蠢的事情太长了......谢谢! ://
猜你喜欢
  • 1970-01-01
  • 2013-08-02
  • 2017-12-07
  • 2018-08-06
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 2011-09-10
  • 1970-01-01
相关资源
最近更新 更多