У меня есть модуль с несколькими носителями. Я хочу использовать красноречие для хранения данных в трех таблицах. Мои таблицы следующие
пользователи, DrivingSession, СМИ , Модель DriveSession содержит идентификатор user_id, а модель Media — Driving_session_id. Я хочу хранить изображения/видео DrivingSession, созданные конкретным пользователем, внутри модели Media. Мои функции модели.
Пользователи.php
public function drivingsessions(){
return $this->hasmany(DrivingSession::class);
}
DrivingSession.php
public function user(){
return $this->belongsToMany(User::class);
}
public function Medias(){
return $this->hasMany(Media::class);
}
Медиа.php
public function drivingSession(){
return $this->belongsToMany(DrivingSession::class);
}
Я хочу сохранить user_id для справки в таблице DrivingSessions и прикрепленной таблице Media to Medias. как я могу это сделать ?
я отредактировал это.
вы можете использовать прикрепить()
Если на сеанс вождения приходится только 1 пользователь, тогда это должно быть отношение BelongsTo.
public function user()
{
return $this->belongsTo(User::class);
}
При условии, что вы настроили свою таблицу БД с помощью user_id, вы сможете запустить
$user->drivingsessions()->save($driving_session);
И это автоматически заполнит столбец user_id в сеансе вождения.
Вы бы сделали то же самое на медиа, и снова я думаю, что более вероятно, что вы хотите, чтобы принадлежало, а не принадлежалоToMany;
$driving_session->medias()->save($media);
Если вы создаете ресурс, вы можете использовать ниже
$driving_session = $user->drivingsessions()->create([
'title' => $request->input('title'),
]);
Затем вы можете использовать захваченный ресурс для обновления носителя.
$driving_session->medias()->create([
'media' => $request->input('media');
])
так что это будет что-то вроде этого? $user = Пользователь::find(1); $drvsess = новая сессия вождения(); $drvess->title = $request->title; $user->drivingSession()->save($drvess); $медиа = новые медиа(); $drvsess ->media()->save($request->media); это что то такое???
Да, но если медиаданные загружены, вам придется сначала обработать файл, а если это ссылка, то он должен работать именно так. Также, если создать, то есть короткий путь, я исправлю свой ответ.
Нет проблем @Muhammed, не забудьте отметить ответ как правильный.
??
blongsToMany
?? Орфографическая ошибка