У меня есть 3 таблицы, которые называются user, user_profile и notes
user. php содержит
id name email
1 sam sam@dd.com
2 jen jj@sss.org
user_profile. php,
id user_id fname lname
1 1 ss aa
2 2 ww ed
notes . php
id user_id user_profile_id note file
1 1 1 demo aa.pdf
2 2 2 test aa.jpg
NotesController
public function store_notes()
{
$data = request()->validate([
"note" => ['required'],
"file" => ['required','file'],
]);
// dd($data);
auth()->user()->userprofile()->notes()->create($data);
return redirect('users');
}
Я использую этот способ для вставки всех деталей, которые хочу вставить в таблицу заметок, но получаю следующую ошибку
Call to undefined method Illuminate\Database\Eloquent\Relations\HasOne::notes()
это моя пользовательская модель
public function notes()
{
return $this->hasMany(Note::class);
}
моя модель user_profile
public function notes()
{
return $this->hasMany('App\Note','user_profile_id');
}
и моя модель заметок
public function user()
{
return $this->belongsTo(User::class);
}
public function userprofile()
{
return $this->hasMany('App\UserProfile');
}
на самом деле моя точка зрения такова, что я необходимо создавать заметки и файлы в таблице заметок, а также вставлять user_id и user_profile_id в таблицу заметок. Я знаю, как использовать две таблицы с отношениями, но не знаю, когда дело доходит до трех .. [ПРИМЕЧАНИЕ: я уже использую отношение между пользователем и userprofile во время разработки этого примера проекта, он отлично работает] Если кто-нибудь знает ответ, пожалуйста, помогите мне разобраться в проблеме ... Предварительные приветствия ..