簡體   English   中英

使用socket.io或javascript訪問器從數據庫廣播檢索到的結果

[英]Broadcast retrieved results from DB with accessors to socket.io or javascript

問題:我無法在Laravel 5.4的javascript文件中檢索訪問器參數

場景:

  1. 獲取數據
  2. 修改與檢索的數據存取器
  3. 通過事件廣播給聽眾
  4. 使用socket.io在javascript中捕獲廣播事件

App/SomeModel.php我正在使用App/SomeModel.php對檢索到的數據進行操作。

根據優先級編號,我為引導樣式指定了正確的類名稱。

/**
 * Gets corresponding class name based on priority level.
 *
 * @return string
 */
public function getPriorityClassAttribute(): string
{
    switch ($this->priority) {
        default:
            return '';
        case 1:
            return 'info';
        case 2:
            return 'success';
        case 3:
            return 'warning';
        case 4:
            return 'danger';
    }
}

然后,我可以在應用程序的任何位置訪問$somedata->priority_class

但是我無法將這些數據傳遞給javascript中的偵聽器。 我不知道如何將其添加到數據對象中。

這是我的事件廣播器中的var_dump()

#attributes: array:2 [
"priority" => 2
"id" => 128

]

如果我想$somedata->priority_class為什么沒有priority_class起作用呢?

有小費嗎 ?

得到它了! 我要做的就是在protected $appends數組中插入一個屬性;

/**
 * Append accessors to JSON response
 *
 * @var array
 */
protected $appends = [
    'priority_class'
];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM