Объединить запрос с foreach в Laravel - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь выучить Laravel, поэтому я прошу прощения, если мой вопрос прост.У меня есть 2 таблицы (table1, table2), как это:Таблица 1:

ID       date       time
1          1          1
2          4          2
3          5          3

table2:

ID       V        R
1        123       T
1        12        F
1        43        F
2        32        T
2        23        T
3        43        F

, потому что у меня есть 3 типа идентификаторов (которые могут быть более или менее), я хочу разделить table2 на 3 таблицы, используя table1.как это:table2_1: для ID: 1

V       R
123     T
12      F
43      F

table2_2: для ID: 2

V       R
23       T
23       T

table2_3: для ID: 3

V       R
43       F

Я думаю, что мне нужно что-токак это:

@foreach ($table1 as $t)
      <table class="table">
         {!! $t -> ID!!}
        <thead>
        <tr>

            <th scope="col">R</th>
            <th scope="col">V</th>

        </tr>
        </thead>
        <tbody>

            <!---Query result ---->

        </tbody>

 @endforeach

, который в результате запроса мне нужен, чтобы выбрать V и R из соединения table1 и table2.но я не знаю точный код.Любая идея, как я могу это сделать?Заранее спасибо.

1 Ответ

0 голосов
/ 25 октября 2018

Возможно, вам даже не нужно привлекать table1 здесь.Просто запросите table2 с предложением ORDER BY, а затем выполните итерацию набора результатов, получая новые таблицы HTML для каждого нового значения ID:

$result = DB::table('table2')
            ->orderBy('ID')
            ->get();

$prev_id = NULL;

foreach($result as $row) {
    $curr_id = $row->ID;
    if ($prev_id != NULL && $curr_id != $prev_id) {
        echo "</table>";
    }
    if ($prev_id == NULL || $curr_id != $prev_id) {
        $prev_id = $curr_id;
        echo "<table class=\"table\" colspan=\"2\">";
        echo "<tr><th scope=\"col\">V</th><th scope=\"col\">R</th></tr>";
    }
    echo "<tr><td>" . $row->V . "</td><td>" . $row->R . "</td></tr>";
}
echo "</table>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...