如何在控制器上运行foreach?

纳尔逊

我想发送几封电子邮件,以便将它们链接到过渡表中,这很好,问题是当我使用该命令时,它只会向我发送一封电子邮件,而每个用户都不会重复,因为应该是使用foreach,我应该为每位接受的用户发送一封电子邮件,同时分别查看每个查询,如果有多个用户抓住我,那么我不知道命令为什么只向我发送一封电子邮件。我希望您能为我提供帮助,另一方面,我也想使用sis变量的电子邮件,但是当在“邮件”中使用它时,它告诉我说该变量不存在。预先感谢所有。

我的控制器:

<?php

namespace App\Console\Commands;

use App\p;
use App\User;
use App\Pe;
use App\Mail\SendMailable;
use Illuminate\Console\Command;
use Carbon\Carbon;
use Illuminate\Support\Facades\Mail;

class Alertc extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'S:AC';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Send works';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {


           $hour= 14;
        $minute= 0;
        $second=0;
        $year= date("Y");
        $month= date("m");
        $day=date("d");
        $hourM=date("H");
        $dayy= now();

        $datelim=Carbon::Create($year,$month,$day,$hour,$minute,$second);
        $datedif=Carbon::Create($year,$month,$day,$hourM,$minute,$second);
        $dateen= $Datedif->addHour();
        $intervalH= $dayy->diffInHours($datelim);
        $intervalM= $dayy->diffInMinutes($dateen);

        $systems = User::where('codarea','>',0)->get();
        foreach ($systems as $system) {
            $sis = User::select('users.email', 'users.id', 'users.name', 'p.description', 'p.Dateen')
             ->join('pa', 'pa.user', '=', 'users.id')
             ->join('p', 'p.coddate','=','pa.env')
             ->where('p.read_at', '=', 0, 'AND')
             ->where('pa.user', '=', $system->id)
             ->where('p.Dateen', '>', $dayy)

              ->get();     


        $data = ['name' => "Alert" , 'periods' => $sis, 'Periodres' => $intervalH, 'Periodresm' => $intervalM,
        'Hactual' => $dayy, 'Hlimit' => $dateend];

    Mail::send('emails.welcome', $data, function($message) {

        $message ->from('[email protected]', 'ALERT');
        $message ->to('[email protected]')->subject('Alert');

    });
    return "La alert is finished";
    }
    }
}

我的观点:

<!DOCTYPE html>
<html>
<head>
    <title>Message Sent</title>
</head>
<body>
        <ul class="list-group">

            Good morning the next works is:
            @foreach($periods as $period)
            <li class="list-group-item">
                must send 
            <b>{{$period->description}}</b>
            @if($Hactual<$Hlimit)
            the limit is

            {{$Periodres}} Hours and

            {{$Periodresm}} Minutes.

           @elseif($Hactual>$Hlimit)
           is finished. 
           @endif


   </li>
@endforeach
<b><h6>Always with you</h6></b>
        </ul>
</body>
</html>

当我想在邮件中使用sis变量时,这是我的控制器:

namespace App\Console\Commands;

use App\p;
use App\User;
use App\Pe;
use App\Mail\SendMailable;
use Illuminate\Console\Command;
use Carbon\Carbon;
use Illuminate\Support\Facades\Mail;

class Alertc extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'S:AC';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Send works';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {


           $hour= 14;
        $minute= 0;
        $second=0;
        $year= date("Y");
        $month= date("m");
        $day=date("d");
        $hourM=date("H");
        $dayy= now();

        $datelim=Carbon::Create($year,$month,$day,$hour,$minute,$second);
        $datedif=Carbon::Create($year,$month,$day,$hourM,$minute,$second);
        $dateen= $Datedif->addHour();
        $intervalH= $dayy->diffInHours($datelim);
        $intervalM= $dayy->diffInMinutes($dateen);

        $systems = User::where('codarea','>',0)->get();
        foreach ($systems as $system) {
            $sis = User::select('users.email', 'users.id', 'users.name', 'p.description', 'p.Dateen')
             ->join('pa', 'pa.user', '=', 'users.id')
             ->join('p', 'p.coddate','=','pa.env')
             ->where('p.read_at', '=', 0, 'AND')
             ->where('pa.user', '=', $system->id)
             ->where('p.Dateen', '>', $dayy)

              ->get();     


        $data = ['name' => "Alert" , 'periods' => $sis, 'Periodres' => $intervalH, 'Periodresm' => $intervalM,
        'Hactual' => $dayy, 'Hlimit' => $dateend];

    Mail::send('emails.welcome', $data, function($message) {

        $message ->from('[email protected]', 'ALERT');
        $message ->to(sis->email)->subject('Alert');

    });
    return "La alert is finished";
    }
    }
}
蒙迪尼

您的查询是:

$sis = User::select('users.email', 'users.id', 'users.name', 'p.description', 'p.Dateen')
             ->join('pa', 'pa.user', '=', 'users.id')
             ->join('p', 'p.coddate','=','pa.env')
             ->where('p.read_at', '=', 0, 'AND')
             ->where('pa.user', '=', $system->id)
             ->where('p.Dateen', '>', $dayy
             ->get();    

它返回一个集合。您需要foreach $ sis并制作一个电子邮件数组或使用诸如first(),last()之类的方法...

像这样:

 $message ->to($sis->first()->email)->subject('Alert'); //To send to the first user of your query

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在macOS上运行Ubiquiti的UniFi网络控制器?

来自分类Dev

如何在sailsjs控制器中运行多个查询?

来自分类Dev

如何在控制器之前运行指令功能?

来自分类Dev

控制器上的 Laravel 多个 Foreach

来自分类Dev

如何在控制器Laravel上打印出值?

来自分类Dev

如何在emberjs的嵌套控制器上执行“需求”?

来自分类Dev

如何在SATA控制器上启用DMA?

来自分类Dev

如何在视图控制器上获取导航栏?

来自分类Dev

如何在控制器上设置约束?

来自分类Dev

如何在控制器上获得 $q 承诺值

来自分类Dev

在不同的视图控制器/表视图控制器之间导航时,如何在UIView上保存UISwitches的状态?

来自分类Dev

我如何在Ubuntu上使用PS3 Sixaxis控制器来控制游戏

来自分类Dev

我如何在Ubuntu上使用PS3 Sixaxis控制器来控制游戏

来自分类Dev

如何在JMeter中的ForEach控制器中使用csv文件

来自分类Dev

如何在codigniter的控制器中的foreach中传递下拉值

来自分类Dev

如何使用ejs模板在从angularjs控制器收到的整数数组上运行for循环

来自分类Dev

如何从控制台运行控制器关注方法?

来自分类Dev

如何在Spring Boot应用程序中运行多个控制器?

来自分类Dev

如何在运行时将动画控制器添加到角色?

来自分类Dev

如何在Laravel 4中的控制器中的所有方法之前运行代码?

来自分类Dev

如何在运行时使用C查找微控制器中的堆栈溢出

来自分类Dev

如何在Node.js中设置运行多个控制器功能

来自分类Dev

如何在任何控制器之前执行运行功能

来自分类Dev

如何在多个视图控制器之间运行后台方法

来自分类Dev

仅在重定向用户后,如何在控制器中运行邮件程序?

来自分类Dev

如何在运行时将参数从ActionLink传递到控制器

来自分类Dev

如何在单引号内使用单引号从ruby控制器运行bash脚本

来自分类Dev

Angular JS阻止控制器在隐藏元素上运行

来自分类Dev

推迟在应用运行angularjs上创建控制器/服务

Related 相关文章

  1. 1

    如何在macOS上运行Ubiquiti的UniFi网络控制器?

  2. 2

    如何在sailsjs控制器中运行多个查询?

  3. 3

    如何在控制器之前运行指令功能?

  4. 4

    控制器上的 Laravel 多个 Foreach

  5. 5

    如何在控制器Laravel上打印出值?

  6. 6

    如何在emberjs的嵌套控制器上执行“需求”?

  7. 7

    如何在SATA控制器上启用DMA?

  8. 8

    如何在视图控制器上获取导航栏?

  9. 9

    如何在控制器上设置约束?

  10. 10

    如何在控制器上获得 $q 承诺值

  11. 11

    在不同的视图控制器/表视图控制器之间导航时,如何在UIView上保存UISwitches的状态?

  12. 12

    我如何在Ubuntu上使用PS3 Sixaxis控制器来控制游戏

  13. 13

    我如何在Ubuntu上使用PS3 Sixaxis控制器来控制游戏

  14. 14

    如何在JMeter中的ForEach控制器中使用csv文件

  15. 15

    如何在codigniter的控制器中的foreach中传递下拉值

  16. 16

    如何使用ejs模板在从angularjs控制器收到的整数数组上运行for循环

  17. 17

    如何从控制台运行控制器关注方法?

  18. 18

    如何在Spring Boot应用程序中运行多个控制器?

  19. 19

    如何在运行时将动画控制器添加到角色?

  20. 20

    如何在Laravel 4中的控制器中的所有方法之前运行代码?

  21. 21

    如何在运行时使用C查找微控制器中的堆栈溢出

  22. 22

    如何在Node.js中设置运行多个控制器功能

  23. 23

    如何在任何控制器之前执行运行功能

  24. 24

    如何在多个视图控制器之间运行后台方法

  25. 25

    仅在重定向用户后,如何在控制器中运行邮件程序?

  26. 26

    如何在运行时将参数从ActionLink传递到控制器

  27. 27

    如何在单引号内使用单引号从ruby控制器运行bash脚本

  28. 28

    Angular JS阻止控制器在隐藏元素上运行

  29. 29

    推迟在应用运行angularjs上创建控制器/服务

热门标签

归档