Laravel Notification允许使用notifications
或toArray
在toDatabase
表中保存数据。但是documentation并没有澄清两件事。
在toArray()
表中存储数据时,toDatabase()
和notifications
之间有什么区别?
我在link
表中添加了一个附加属性(notifications
),但是当我这样做时:
public function toDatabase() {
return [
'data'=>'My Data',
'link'=>'My Link'
];
}
我最终将数组序列化为data
属性。使用toArray()
或toDatabase()
函数保存属性的正确方法是什么?
答案 0 :(得分:3)
1)使用的方法由via()返回数组确定:
return ['mail', 'database', 'broadcast'];
当您仅使用toArray时,它将使用该单个数据数组进行数据库和广播通知。如果您希望为每个数组定义单独的数组,则可以定义toDatabase()和toBroadcast()方法。
2)由于通知内置于Laravel的核心 - 没有简单的方法可以改变其模型 - 即添加可添加的可填充字段。 通知要求您将添加字段添加到“数据”数组。顺便提一下,仍然可以通过以下方式访问:
$notification->my_custom_data_value