2017-01-28 4 views
0

私は問題がありますが、角度のjsでenum値を取得するのは混乱します。私はテーブルリストを持っています。 'Criteria Type'カラムには、mysqlの2つの値があります。 'C'はCostで、 'B'はBenefitです。しかし、私のテーブルリストには単に「C」または「B」と表示されます。だから、私はどのように取得することができます/初期文字列 'C'はコストと 'B'の利益になるように列挙値を作る? ここに私のコードコントローラー:応答データで角度jsのenum値を取得する方法

adminService.get('kriteria').then(function(response){ 
    $scope.datas = response.data; 
}); 

とここに私の表示データテーブルコード:

<div class = "panel-body"> 
      <div id="add-button"><a href="#!/kriteria/0" class="btn btn-primary" style="margin:5px 5px 5px 10px">Tambah Kriteria</a></div> 
      <table class="table table-striped"> 
       <thead><tr><th>No</th><th>Code Kriteria</th><th>Nama Kriteria</th><th>Criteria Type</th><th>Skala Kepentingan</th><th>Proses</th></tr></thead> 
       <tbody><tr ng-repeat="(v,i) in datas"><td>{{v+1}}</td><td>{{i.kd_kriteria}}</td> 
        <td>{{i.nama_kriteria}}</td><td>{{i.jenis_kriteria}}</td><td>{{i.id_skala}}</td><td><a href="#!/kriteria/{{i.id_kriteria}}">Edit</a> | 
         <a href="" ng-click="delete(i.id_kriteria)">Hapus</a></td></tr></tbody> 
      </table> 
     </div> 

コードサービス:

/** adminControl Service **/ 
app.service('adminService', ['$http', '$route', function($http, $route){ 
    var links = "./services/"; 

    this.get = function(url){ 
     return $http({ 
      method:'GET', 
      url:links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json' 
     }); 
    } 

    this.post = function(url,data){ 
     return $http({ 
      method:'POST', 
      url:links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json', 
      data: data 
     }); 
    } 

    this.update = function(url,data){ 
     return $http({ 
      method:'UPDATE', 
      url:links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json', 
      data: data 
     }); 
    } 

    this.delete = function(url) { 
     return $http({ 
      method: 'DELETE', 
      url: links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json' 
     }); 
    } 

    this.getReload = function(url){ 
     $route.reload(); 
     location.href=url; 
    } 
}]); 

とPHPのコードで私のAPI:

function kriteria(){ 
     switch($this->get_request_method()){ 
      case "GET": 
       if(!isset($_GET['id'])){ 
        $result = NULL; 
        $sql = $this->pdo->prepare("SELECT * FROM tbl_kriteria, tbl_skala 
               WHERE tbl_kriteria.id_skala = tbl_skala.id_skala ORDER BY 1 DESC"); 
        $sql->execute(); 
        while($r = $sql->fetch(PDO::FETCH_ASSOC)){ 
         $result[] = $r; 
        } 
        return $this->response($this->json($result)); 
       }else{ 
        $result = NULL; 
        $sql = $this->pdo->prepare("SELECT * FROM tbl_kriteria 
               WHERE id_kriteria = '".$_GET['id']."' 
               ORDER BY 1 LIMIT 1"); 
        $sql->execute(); 
        if($sql->rowCount()){ 
         $r = $sql->fetch(PDO::FETCH_ASSOC); 
         $result = $r; 
         return $this->response($this->json($result)); 
        } 
       } 
       break; 
      case "POST": 
       $data = json_decode(file_get_contents("php://input"),true); 
       $sql = $this->pdo->prepare("INSERT INTO tbl_kriteria (id_skala, kd_kriteria, nama_kriteria, jenis_kriteria) 
              VALUES (:id_skala, :kd_kriteria, :nama_kriteria, :jenis_kriteria)"); 
       $sql->bindParam(':id_skala', $data['id_skala']); 
       $sql->bindParam(':kd_kriteria', $data['kd_kriteria']); 
       $sql->bindParam(':nama_kriteria', $data['nama_kriteria']); 
       $sql->bindParam(':jenis_kriteria', $data['jenis_kriteria']); 
       $sql->execute(); 
       break; 
      case 'DELETE': 
       $sql = $this->pdo->prepare("DELETE FROM tbl_kriteria WHERE id_kriteria = '".$_GET['id']."'"); 
       $sql->execute(); 
       break; 
      case 'UPDATE': 
       $data = json_decode(file_get_contents("php://input"),true); 
       $sql = $this->pdo->prepare("UPDATE tbl_kriteria set kd_kriteria = '".$data['kd_kriteria']."', 
              nama_kriteria = '".$data['nama_kriteria']."', jenis_kriteria = '".$data['jenis_kriteria']."' 
              id_skala = '".$data['id_skala']."' WHERE id_kriteria = '".$data['id_kriteria']."'"); 
       $sql->execute(); 
       break; 
     } 
    } 
+0

は、サービスの完全なコードを与えます。そして、バックエンド – Shubhranshu

+1

おかあさんのマスター、編集。 –

答えて

0

あなたはcustom filterを作成したいと思うように思えます。

app.filter('criteriaFilter', function() { 
    return function(input) { 
    var myEnum = { 
     "C": "Cost", 
     "B": "Benefit", 
    }; 
    return myEnum[input]; 
    } 
}); 

そして、あなたのビューで:

<li ng-repeat="i in criteria">{{i.type | criteriaFilter}}</li> 
+0

おかげで。あなたは私の日を救う。ラリーに感謝します。 –

関連する問題