Laravel не может использовать Select и With - PullRequest
0 голосов
/ 26 октября 2018

У меня есть 3 таблицы:
reservation
reservation_kit
kit

Я использую эту команду, чтобы получить все бронирования с колонками resPickDate и resReturnDate. Я хочу получить также комплекты

    $reservations = Reservation::with('kits:kitNo')
    ->select('resPickDate', 'resReturnDate')
    ->get();

Проблема 1: если я раскомментирую выбор, я получаю что-то вроде
{"resPickDate":"2018-10-29","resReturnDate":"2018-10-29","kits":[]}

Проблема 2: Если я прокомментирую выбор, with('kits:kitNo') не получит только «нет», я получу также точку опоры
"kits":[{"kitNo":"ACC_AUDIO-SPEAKERS_6840.01","pivot":{...}}

Как я могу получить только resPickDate и resReturnDate с наборами?

Спасибо

1 Ответ

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

Это много ко многим, обычно используя этот вид связывания, он нарушает соединение, потому что вы используете выбор, он ищет только определенные поля, теперь я не знаю, как сделать связывание, подобное этому, со многими ко многим, как это, но вы можете попробовать:

Reservation::with('kits:kitNo')
->get()
->map(function ($item, $key){ 
  return [
    "resPickDate" => $item->resPickDate, 
    "resReturnDate" => $item->resReturnDate,
    "kits" => $item->pivot 
  ]; 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...