php - 如何将特定用户的通知标记为已读并在 laravel 5 中发布?

标签 php laravel laravel-5 notifications

我想将查看特定帖子的用户的通知标记为已读

public function show(Post $post)
    {

        $notification_for_user = auth()->user()->unreadNotifications()->where("data['post_id']", $post->id)->first()->update(['read_at' => now()]);

        return view('post.show', compact('post'));
    }

它给出了这个错误

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'data['post_id']' in 'where clause' 

那么我如何访问数据列的 post_id 以在显示时为用户删除该特定通知。

这是它在数据列中的存储方式

{"post_id":8,"title":"Example Post...}

最佳答案

请检查以下代码。

use Illuminate\Notifications\DatabaseNotification;

    $notification = DatabaseNotification::find( $request->notification_id );
                $notification->update(['read_at' => now()]);
                $notification->save();

关于php - 如何将特定用户的通知标记为已读并在 laravel 5 中发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48299740/

相关文章:

php - 需要一段日期时间的第一天和最后一天

PHP - 将参数从数组传递到 SQL 查询

php - laravel:未定义密码重置器 []

php - Laravel 5.2 用户表播种器错误

php - 在 php 中将 1/0 值转换为 YES/NO

php - jquery加载间隔div flash

php - Laravel 和 Azure 错误 : Internal Server Error

php - 如何在 Laravel 中使用 eager 打印省份名称?

php - 使用 PHP 获取表中的照片

php - sha512 可能的输出字符是什么?