Как я могу получить владельца статьи user_id и сохранить в поле notifiable_id - PullRequest
0 голосов
/ 27 августа 2018

Как я могу получить владельца статьи user_id и сохранить в поле notifiable_id Suppos $ articlecomment = $ article_owner_id

Мой код:

$articlecomment = new Article_comment();
$articlecomment->user_id  = Auth::user()->id;//Comment by user id
$articlecomment->article_id = $request->articleid;
$articlecomment->comment    = $request->comment;
$articlecomment->save();   
auth()->user()->notify(new ArticleNotification($articlecomment));
//$articlecomment->user()->notify(new ArticleNotification($articlecomment));

Скриншот базы данных я хочу article_owner_user_id в поле notifible_id введите описание изображения здесь

Ответы [ 3 ]

0 голосов
/ 04 сентября 2018
Solved 
 $articlecomment->save();
 $article = Article::where('id','=',$request->articleid)->first();
 if($article->user_id != Auth::User()->id){
 $article->user->notify(new ArticleNotification($article));
 }
0 голосов
/ 27 августа 2018

Если у вас настроены отношения для моделей Article_comment и Article, вы можете получить доступ к «Владельцу статьи» через связь.

Например, определите отношение для вашей модели "Article" внутри вашего Article_comment класса (при условии, что Article - это название вашей модели):

class Article_comment extends Model {
    ....

    public function article() {
        return $this->hasOne('App\Article', 'id', 'article_id')
    }

    ....
}

Получив этот набор, вы можете получить доступ к своему отношению (и последующим свойствам) следующим образом (при условии, что article_owner_id является свойством вашей Article модели):

$articlecomment->article->article_owner_id

Edit:

Любой пользователь, которому вы позвоните, уведомит об этом пользователя. Таким образом, чтобы уведомить владельца статьи, вам нужно получить пользователя статьи и вызвать notify из этого экземпляра (а не пользователя auth). Если вы установили отношение к пользователю в своем классе Article, вы можете просто вызвать уведомление от этого или получить пользователя из article_owner_id и вызвать уведомление.

* * Пример тысяча двадцать-один: * * 1 022
$user = User::where('id', '=', $articlecomment->article->article_owner_id)->first();
$user->notify(new ArticleNotification($articlecomment));

Если для вашего класса Article установлена ​​связь, вы можете вместо этого вызвать notify следующим образом:

$articlecomment->article->user->notify(new ArticleNotification($articlecomment));

Подробнее о связях Eloquent см. https://laravel.com/docs/5.6/eloquent-relationships#introduction

...