簡體   English   中英

如何停止向自己發送通知?

[英]How can I stop sending Notification to myself?

當我喜歡自己的帖子時,我會收到通知,它不應該發生,

現在我想要的是通知不應該保存在數據庫中,就像我在自己的帖子中一樣,

我的控制器:

    public function store(Request $request,$id)
    {
    $like = new Like();
    $like->user_id =Auth::user()->id;
    $like->post_id = $id;
    if($like->save())
    {
        if (Auth::user()->id != $id)
        {
            $user = User::findOrFail($request->get('user_id'));
            Notification::send($user , new likePost($like));
            $data = auth()->user()->name.'Liked Your Post '.'<Strong>'.$request->input('title').'</strong'.'<\br>'.'On'.Carbon::now();
            StreamLabFacades::pushMessage('test' , 'likePost' , $data);
        }
    }

您的第二個參數($ id)是指帖子ID。

您是說如果post_id與user_id不相等,請發送通知。 在這種情況下,將永遠只有一種情況。

我不確定如何設置邏輯,但是我想您還有另一個稱為Post的模型。

您的邏輯將遵循以下原則:

public function store(Request $request, $post_id){

    $like = Like::create([ 'user_id' => Auth::user()->id, 'post_id' => $post_id]);

    $post = Post::whereId($post_id)->first();

    if( $post->user_id !== Auth::user()->id ) {
        //SEND Notification code here
    }

}

更好的方法是在Like模型中創建一個指向Post模型的關系。 看到這里: https : //laravel.com/docs/5.4/eloquent-relationships#one-to-many-inverse

特別是一對多逆。 他們有一個帶有評論的示例,我認為與您的案例非常相似。

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM