当我喜欢自己的帖子时,我会收到通知,不应该发生,
现在我想要的是通知不应该保存在数据库中,如果我喜欢我自己的帖子,
我的控制器:
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);
}
}
答案 0 :(得分:1)
你的第二个参数($ id)指的是帖子ID。
您说如果您的post_id不等于您的user_id,则发送通知。在这种情况下,只会出现这种情况。
我不确定你的逻辑是如何设置的,但是我想你有另一个名为Post的模型。
你的逻辑会像以下那样:
{{1}}
更好的方法是在Like模型中创建指向Post模型的关系。见这里:https://laravel.com/docs/5.4/eloquent-relationships#one-to-many-inverse
特别是一对多逆。他们有一个评论的例子,我认为这些评论与你的案例非常相似。
希望这有帮助