2017-09-08 9 views
0

문제 : 내가 Laravel에서 자바 스크립트 파일을 5.4방송은 Socket.IO에하는 접근이나 자바 스크립트와 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에 액세스 할 수 있습니다.

그러나 이러한 데이터는 자바 스크립트의 수신기에 전달할 수 없습니다. 어떻게 데이터 객체에 추가해야하는지 모르겠습니다. 내가 $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' 
];