Создать список данных со значением от нескольких единиц до многих отношений

У меня есть структура таблицы со списком идентификаторов, выбранных из раскрывающегося списка. Скажем, в следующем формате:

id,teacher_id,batch_id,course_id,program_id,depart_id

эти поля сохраняются в базе данных через вызов ajax. Теперь я хотел, чтобы имя ассоциировалось с этим id's

У меня есть такая функция:

public function store(StoreEmployeesRequest $request)
{
   $teacherCourse = TeacherCourse::create($request->all());
}

Здесь, после создания TeacherCourse, я хотел получить все значения, связанные с $teacherCourse->teacher_id, из таблицы TeacherCourse и объедините значение и создайте массив в следующем формате:

{
    "id":8,
    "program":"Master of Computer", //with program_id from program table
    "course":"software engineering" //with course_id from course table
},
{
    "id":7,
    "program":"Bachelor of Pharmacy", //with program_id from program table
    "course":"Structure Programing" //with course_id from course table
}

Отношения в TeacherCourse

public function course()
{
  return $this->belongsTo(Course::class,'course_id');
}

public function program()
{
  return $this->belongsTo(Program::class,'program_id');
}

Я пытался получить значение с помощью этой операции, но потерпел неудачу. Как я могу создать один массив, получив значение из нескольких таблиц?

$teacherCourse = $teachercourse->program->map(function ($program) 
{
    return $program->name;
});
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
41
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

попробуй это:

$teacherCourse = $teachercourse->map(function ($teacherCourse) 
{
    return [ 
             'id' => $teacherCourse->id,
             'program' => $teacherCourse->program()->pluck('name'),
             'course' => $teacherCourse->course()->pluck('name');
           ];
})->toArray();

Я надеюсь помочь вам

Другие вопросы по теме