Php 尝试在Laravel中使用循环合并语句

Php 尝试在Laravel中使用循环合并语句,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,我正在开发一个应用程序,其中我有一个名为reps的表,其中有来自dealers表的许多经销商,然后一个经销商又有来自subdealers表的许多subdealers-我有一个名为dealer_id的外键,我可以从中找到subdealers,但问题是我有一个数组中的经销商,该数组中的经销商可能会根据他们选择的代表而增加或减少属于 这就是我试图实现的目标,但却一事无成 foreach ($dealers as $dealer) { $subdealers = DB::tabl

我正在开发一个应用程序,其中我有一个名为reps的表,其中有来自dealers表的许多经销商,然后一个经销商又有来自subdealers表的许多subdealers-我有一个名为dealer_id的外键,我可以从中找到subdealers,但问题是我有一个数组中的经销商,该数组中的经销商可能会根据他们选择的代表而增加或减少属于

这就是我试图实现的目标,但却一事无成

    foreach ($dealers as $dealer) {
        $subdealers = DB::table('subdealers')->where('dealer_id', '=', $dealer->id);
    }
然后迭代$subderals以获得值

但我知道这是不可能的,因为我正在做的是将所有结果合并到一个数组中,然后在blade中迭代它们


这怎么可能呢?

您忘了调用查询get。请尝试以下代码:

foreach ($dealers as $dealer) {
    $subdealers = DB::table('subdealers')
        ->where('dealer_id', '=', $dealer->id)
        ->get();
}

参考

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

$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();

实际上这不是这里的问题-我想要的是在一个数组对象中获得所有这些子交易者,这样我就可以在blade中迭代它,但上面只会给我一个条目,它将在最后一个循环中写入