2017-09-08 6 views
0

問題:私はLaravel内のJavaScriptファイル5.4放送はsocket.ioするアクセサまたはJavaScriptを使用してDBから結果を取得し

シナリオでアクセサ引数は取得できません。

  1. が取得データを
  2. 修正検索したデータをAccessors
  3. 経由でリスナーにブロードキャスト
  4. jでブロードキャストされたイベントをキャッチavascript with socket.io

App/SomeModel.php私はEloquentを使って検索したデータを操作しています。

優先度番号に基づいて、私はブートストラップスタイリングに正しいクラス名を割り当てます。

/** 
* 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のリスナーに渡すことはできません。私はそれをどのようにデータオブジェクトに追加すべきかわかりません。私は$somedata->priority_classする場合は、それが動作する間はpriority_classが存在しないのはなぜ

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

]

:ここ

は私のイベントの放送局でvar_dump()のですか?

ヒント?

答えて

0

ありがとうございました!私がしなければならなかったのは、配列をprotected $appends配列に挿入することでした。

/** 
* Append accessors to JSON response 
* 
* @var array 
*/ 
protected $appends = [ 
    'priority_class' 
]; 
関連する問題