尝试在 Laravel 中使用循环来 UNION 语句

Muh*_*mad 4 php mysql laravel laravel-4

我正在开发一个应用程序,其中我有一个名为repswho has many dealersfrom dealerstable 的表,然后又一个dealer有很多subdealers来自subdealers表的表 - 我有一个名为的外键,dealer_id我可以从中找到它subdealers,但问题是我dealers在一个可能会增加或减少的数组中取决于rep它们所属的

这就是我想要实现的目标,但无处可去

    foreach ($dealers as $dealer) {
        $subdealers = DB::table('subdealers')->where('dealer_id', '=', $dealer->id);
    }
Run Code Online (Sandbox Code Playgroud)

然后迭代$subdealers得到值

但我知道这是不可能的,因为我正在做的就是将UNION所有结果放入一个数组中,然后在 Blade 中迭代它们

这怎么可能?

Tah*_*zad 7

虽然为时已晚,但可能对其他人有帮助。
这是我在同样情况下所做的。

$i = 0;
foreach ($dealers as $dealer) {
    $q = DB::table('subdealers')->where('dealer_id', '=', $dealer->id);
    if($i < 1){
        $subdealers = $q;
    }else{
        $subdealers->union($q);
    }
    $i++
}
$subdealers = $subdealers->get();
Run Code Online (Sandbox Code Playgroud)