Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Laravel中的toArray/toDatabase函数指定通知属性?_Laravel_Laravel 5_Notifications_Eloquent_Laravel 5.3 - Fatal编程技术网

如何通过Laravel中的toArray/toDatabase函数指定通知属性?

如何通过Laravel中的toArray/toDatabase函数指定通知属性?,laravel,laravel-5,notifications,eloquent,laravel-5.3,Laravel,Laravel 5,Notifications,Eloquent,Laravel 5.3,Laravel允许使用toArray或toDatabase将数据保存在notifications表格中。但是这本书没有澄清两件事 在notifications表中存储数据时,toArray()和toDatabase()之间有什么区别 我已经在通知表中添加了一个附加属性(链接),但当我这样做时: public function toDatabase() { return [ 'data'=>'My Data', 'link'=>'My Link'

Laravel允许使用
toArray
toDatabase
将数据保存在
notifications
表格中。但是这本书没有澄清两件事

  • notifications
    表中存储数据时,
    toArray()
    toDatabase()
    之间有什么区别

  • 我已经在
    通知
    表中添加了一个附加属性(
    链接
    ),但当我这样做时:

    public function toDatabase() {
        return [
            'data'=>'My Data',
            'link'=>'My Link'
        ];
    }
    
  • 我最终在
    data
    属性下序列化了数组。使用
    toArray()
    toDatabase()
    函数保存属性的正确方法是什么?

    1)使用的方法由via()返回数组决定:

    return ['mail', 'database', 'broadcast'];
    
    当您仅使用toArray时,它将为数据库和广播通知使用单个数据数组。如果希望为每个方法定义单独的数组,则可以定义toDatabase()和toBroadcast()方法

    2) 由于通知是内置在Laravel的核心中的,因此没有简单的方法来改变它的模型,即添加可填充字段。 通知希望您将该添加字段添加到“数据”数组中。顺便说一下,您仍然可以通过以下方式访问:

    $notification->my_custom_data_value