Laravel запрашивает две не связанные модели и возвращает поля из обеих - PullRequest
0 голосов
/ 04 марта 2020

У меня есть 2 модели:

  1. Свойство (поля: prop_id, a, b, c)
  2. OfferDemandmatch (поля: prop_id d, e, f)

Обе модели имеют столбец prop_id , который можно использовать для объединения обеих моделей. У меня есть блэйд-вид, где я делаю foreach для коллекции совпадений, и мне нужно, чтобы внутри каждого элемента коллекции были поля из модели Property и OfferDemandmatch.

Это код для коллекции совпадений, отправляемой в Balde View.

class OfferdemandsmatchsController extends Controller
{
    public function index ($id) {
        $matchs = OfferDemand::findOrFail($id)->offerdemandsmatchs;
        return view('pages.processes.offerdemand.matchs.index', compact('matchs'));

    }
}

Это код в виде блейда

<div class="row">
  @foreach($matchs as $match)
      @component('pages.processes.offerdemand.matchs.matchbox')
      @endcomponent
  @endforeach
</div>

Мне потребуется использовать поля Property и Match в каждой итерации foreach в представлении блейда. Итак, элементы моей коллекции должны содержать поля: prop_id, a, b, c, d, e, f

Как мне этого добиться?

С уважением

1 Ответ

1 голос
/ 04 марта 2020

Здравствуйте, я пишу по телефону и не могу объяснить, и не форматировать ответ.

Go до laravel документов и поиск, как сделать перекрестное соединение. Это объединит обе базы данных.

$data = DB::table('tbl_property')->crossJoin('tbl_offerdemand')->get();

Изменить 1: обычное объединение для prop_id

$data = DB::table('tbl_properties')->join('tbl_OfferDemandmatch', 'tbl_properties.prop_id', '=',  'tbl_offerdemand.prop_id') ->select() ->get();
...