Я хотел бы получить сопоставленные данные в две таблицы.
соответствует только одному значению столбца в отображаемых данных 'pn'.
Я пишу ниже код.
$majis = St::join('sts.pn', '=', 'pn_list.pn')->get();
return view('contacts.index')->with('majis',$majis);
тогда я получил эту ошибку
Illuminate \ Database \ QueryException (42S02)
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'sts.pn' doesn't exist (SQL: select * from `sts` inner join `sts`.`pn` on `=` = `pn_list`.`pn`)
я впервые использую внутреннее соединение. в чем проблема?
Как я сам проверил, я могу отобразить каждую таблицу как отдельную.
Текущая ошибка здесь
SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '=' (SQL: select * from `sts` inner join `pn_list` on `sts`.`pn` = `pn_list`.`pn`)
Об отображении. Как написать буксир foreach, когда я те
@foreach ($ records как $ record) и @foreach ($ majis как $ maji)?
текущий файл блейда
@foreach ($records as $record)
<tr>
<td>{{ $record->id }}</td>
<td>{{ $record->date }}</td>
<td>{{ $maji->pname }} {{ $maji->pdetail }}</td>
<td>{{ $record->memo }}</td>
</tr>
@endforeach
Контроллер
$majis = St::join('pn_list', 'sts.pn', '=', 'pn_list.pn')->get();
return view('contacts.index')->with('records',$records)->with('pn',$pn)->with('ename',$ename)->with('pns',$pns)->with('majis',$majis);
Моя цель
Основная таблица (st) содержит большую часть данных.
Я хотел бы добавить некоторые дополнительные детали.
подробности есть Sub table (pns).
Основными данными таблицы являются «история записи».
Каждая запись имеет $ pn, что означает номер продукта.
В подстоле есть столбец $ Pn - номер продукта,
$ pname - это название продукта, а $ pdetail - подробности о продукте.
Например, основная запись $ pn равна 425
Подтаблица откликнется и отобразит название продукта и подробности № 425.