使用 routeNotificationForDatabase 时数组到字符串的转换

Array to string conversion when using routeNotificationForDatabase

我编写了一个与使用 Notifiable 特征的数据库没有任何关系的自定义模型。为了支持数据库通知,我将方法 routeNotificationForDatabase() 添加到此 class 中,如下所示:

public function routeNotificationForDatabase()
{
    return new Notification();
}

但是,这会导致以下错误。所以很明显我做错了什么。有人可以为此指出正确的方向吗?

Illuminate\Database\QueryException : Array to string conversion (SQL: insert into notifications (id, type, data, read_at, updated_at, created_at) values (783ee870-cd52-4a2e-bdeb-fd89ca2aee11, App\Notifications\SystemMessage, WARNING! example.com is currently down., , 2018-04-28 18:53:35, 2018-04-28 18:53:35))

堆栈跟踪:

1 ErrorException::("Array to string conversion") /Users/xxx/sites/xxx/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php : 101

2 PDOStatement::bindValue(["WARNING! example.com is currently down."]) /Users/xxx/sites/xxx/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php : 101

提前致谢。

编辑: 通过使用 toSpark() 通知渠道而不是 toDatabase() 解决了这个问题。我没有意识到 spark 的通知模型略有不同。

我已经通过使用 toSpark() 渠道而不是 toDatabase() 通知渠道解决了这个问题。我没有意识到 spark 的通知模型略有不同。