2014-09-30 2 views
0

순수 Laravel (및 jQuery) 응용 프로그램을 Angular/Laravel로 변환합니다.반복의 값을 기준으로 DB의 다른 값을 표시하는 AngularJS 필터

나는이 조각을 가지고 :

나는 반복의 ID를 기반으로 이름을 얻을 수있는 함수를 호출 내 반복에서
<td>{{ Person::byId($record->id) }}</td> 

. Angular에서 필터를 사용해야한다는 것을 알고 있습니다.

ID를 받고 이름으로 응답하도록 API 끝점을 설정 한 경우 아래 필터를 사용하여 테이블을 설정하려면 어떻게해야합니까?

<tr ng-repeat="record in records"> 
    <td>{{record.id | filter to show name}}</td> 
</tr> 
+0

데이터를 가져 와서 ID로 필터링하거나 필터링 된 데이터를 ID로 가져 오려면 어떻게 하시겠습니까? – Teq1

+0

API 끝점에서 가져올 수있는 반복의 ID를 기반으로 이름을 표시하려고합니다. – asgwar12

답변

0

Angular 질문으로 태그 지정되었지만 Angular없이이 모든 것을 수행 했습니까? 그것은 서버 측 또는 클라이언트 측에서 수행 될 수 있었지만 그렇게하는 것이 훨씬 쉬워서 서버 측에서 수행했습니다.

$records = DB::table('records')->get();

stdClass array을 받고 후, 그 위에 반복하고 ID를 기반으로 이름을 반환하는 외부 정적 방법을했다 :

여기 내 Laravel 쿼리입니다.

예 : 다음 위, 수정 된 데이터로 내 API 엔드 포인트에서 JSON으로 대응

foreach($records as $record) { 
    $record->id = Person::byId($record->id); 
} 

.

0

당신은 시작과 함께 :

<tr ng-repeat="record in records"> 
    <td>{{record.id | name}}</td> 
</tr> 

당신이 당신의 DB에 기록 몇 가지가 있다면, 그것은 압도 얻을 수 있습니다,하지만 조심 :보기에 그런

angular.module('myModule', []).filter('name', function() { 
    return function(input) { 
    //function/call a service to get the name based on record.id which is the input 
    return name; 
    }; 
}); 

루프 된 요청.

+0

내 DB를 추락 시켰습니다. 대안은 무엇입니까? – asgwar12

+0

또 다른 방법은 이름이있는 레코드를 검색하는 서비스를 만드는 것입니다. –

+0

그런 다음 두 배열 (이름과 레코드)을 결합하여 보내십시오. – asgwar12

관련 문제