В моем приложении Laravel у меня есть три таблицы базы данных с точно такой же структурой / схемой, а затем есть таблица «пользователи», содержащая всех пользователей.
Все три таблицы имеют следующую структуру ...
table1
id user_id описание updated_at created_at
1 1 Это хорошо xxxxxxxxxx xxxxxxxxx
2 2 да, верно, это xxxxxxxxxx xxxxxxxxx
table2
id user_id описание updated_at created_at
1 3 Другой текст xxxxxxxxxx xxxxxxxxx
2 4 И еще xxxxxxxxxx xxxxxxxxx
table3
id user_id описание updated_at created_at
1 5 Еще красиво xxxxxxxxxx xxxxxxxxx
2 6 Хорошо, готово xxxxxxxxxx xxxxxxxxx
Теперь я действительно хочу хранить данные в этих отдельных таблицах. Однако есть один странный случай, когда мне нужно будет показать все эти записи из этих трех таблиц в одном и том же представлении, предпочтительно в поле orderBy created_at.
Я использовал следующий код для объединения этих таблиц:
$table2 = DB::table('table2');
$table3 = DB::table('table3');
$query = DB::table('table1')
->union($table1)
->union($table3)
->get();
Возникающая проблема заключается в том, что красноречивые отношения не работают, и это утверждение в Blade нарушается. {{$comment->user->name}}
.
Я просто хочу иметь возможность объединить / объединить все эти три таблицы и, желательно, иметь возможность иметь отношения или найти какой-либо другой способ, чтобы я мог получить имя пользователя, которому принадлежит конкретная запись в объединенном / объединенном результате. А также иметь результат объединения / объединения в столбце orderBy created_at.
Любая помощь будет принята с благодарностью.
Спасибо