Я новичок в laravel и работаю над проектом, в котором мне нужно получить данные из разных таблиц в Laravel 5.7. Предположим, у меня есть 3 таблицы:
- Основная таблица, из которой мне нужно получитьданные
- Вторичная таблица 1
- Вторичная таблица 2
Столбцы главной таблицы
id (auto increment primary key)
task_name (I have stored secondary table name here)
tid (task id)
assigned_to
description
Вот мой код
public function viewTasks(){
$task_logs = TaskLog::orderBy('id','desc')->get();
foreach($task_logs as $task_log)
{
$table_name = $task_log['task_name'];
if(Schema::hasTable($table_name))
{
$tasks[] = DB::table($table_name)->where('id', $task_log->tid)->first();
}
}
return $tasks;
А вот вывод:
[
{
"id": 220,
"uId": 324,
"document_name": "Photo Id",
"document_image": "image1.jpg",
"created_at": "2018-12-30 09:56:24",
"updated_at": "2018-12-30 09:56:24",
"status": 1,
},
{
"id": 114,
"uId": 382,
"makeModel": "Motorola 501",
"PhoneTitle": "New launched",
"price": "500",
"dealerName": "",
"created_at": "2018-12-30 09:56:24",
"updated_at": "2018-12-30 09:56:24",
"status": 1,
}
]
Вывод того, что мне нужно:
[
{
"id": 220,
"uId": 324,
"document_name": "Photo Id",
"document_image": "image1.jpg",
"created_at": "2018-12-30 09:56:24",
"updated_at": "2018-12-30 09:56:24",
"status": 1,
"task_name": "documents",
"assigned to": 3,
"Description": "Description here",
},
{
"id": 114,
"uId": 382,
"makeModel": "Motorola 501",
"PhoneTitle": "New launched",
"price": "500",
"dealerName": "",
"created_at": "2018-12-30 09:56:24",
"updated_at": "2018-12-30 09:56:24",
"status": 1,
"task_name": "wishlists",
"assigned to": 2,
"Description": "Description here"
}
]
Я пробовал разные способы, используя функции array_push и array_merge и т. Д., Чтобы объединить два массива в одинмассив но никто не работал.Я не знаю, как мне это реализовать.
Пожалуйста, дайте мне знать, если в этом вопросе отсутствует какая-либо информация, чтобы понять и ответить на вопрос.Любая помощь будет принята с благодарностью.Заранее спасибо.