как получить сторонние идентификаторы из двух разных таблиц и сохранить в другой таблице в laravel - PullRequest
0 голосов
/ 28 марта 2020

У меня есть 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 во время разработки этого примера проекта, он отлично работает] Если кто-нибудь знает ответ, пожалуйста, помогите мне разобраться в проблеме ... Предварительные приветствия ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...