2016-10-19 13 views
0

私は、AjaxとSQLを介してデータを出力するためにjQueryデータ型を使用しています。私は良いデータを出力することができます。しかし、私はそれが同じものに関係するので、2つの戻りオブジェクトを1つの列に結合したいと思います。2つのオブジェクトを1つのAJAXデータテーブルの列に表示

$('#todayApt').on('show.bs.modal', function (event){ 
    $('#todayAptList').DataTable({ 
     "ajax": { 
      "url": '{{ url('panel/appointment/ajax/schedule/week/lookup') }}', 
      dataSrc: '' 
     }, 
     "columns": [ 
      { "data": "date" }, 
      { "data": "office" }, 
      { "data": "block" }, 
      { "data": "last_name" }, 
      { "data": "street_1" }, 
      { "data": "zip_code" }, 
      { "data": "phone_1" }, 
      { "data": "service_detail" } 
     ] 
    }); 
}); 

次のように私のオブジェクトは、次のとおりです。私はちょうど「詳細」ラベルされた1つの列になりたい

[ 
    { 
     "street_1":"1234 Main St", 
     "phone_2":"(555) 555-5555", 
     "street_2":null, 
     "date":"2016-10-19", 
     "users_info_id":19, 
     "last_name":"Doe", 
     "phone_1":"(555) 555-5555", 
     "zip_code":90210, 
     "status":"scheduled", 
     "office":"location", 
     "block":"9-12", 
     "special_detail":null, 
     "mp_detail":null, 
     "service_detail":"Service Details" 
    } 
] 

のでservice_detail、mp_detailとspecial_detail。 (あなたはレンダラを使用してこれを行うことができるはず

<table id="todayAptList" class="table table-striped table-bordered dt-responsive" cellspacing="0" width="100%"> 
    <thead> 
    <tr> 
     <th>Date</th> 
     <th>Office</th> 
     <th>Block</th> 
     <th>Last Name</th> 
     <th>Address</th> 
     <th>Zip Code</th> 
     <th>Phone</th> 
     <th>Services</th> 
    </thead> 
    <tbody> 
    <tr role="row" class="odd"> 
     <td class="sorting_1" tabindex="0">2016-10-18</td> 
     <td>Location</td> 
     <td>3-5</td> 
     <td>Doe</td> 
     <td>1234 Main St</td> 
     <td>90210</td> 
     <td>(555) 555-5555</td> 
     <td>SPECIAL, MP AND SERVICE DETAILS HERE IN ONE</td> 
    </tr> 
</tbody> 
+0

返された結果はJSONオブジェクトですか? – Anson

+0

はい、そうです。私は私の答えを編集して、私のSQLオブジェクトからダンプされた適切なJSON応答を表示します。 – Lynx

+0

あなたは期待した結果を提供できますか? – Anson

答えて

0

:私は、単一の列を行う方法を見つけ出すことができますが、期待される結果の1列のみに複数の

例を行う方法を見つけ出すことはできませんcolumns.render)。参考までにここをクリックしてください。 DataTable Renderers

基本的に、レンダラーを使用して元のオブジェクトからデータを変換します。私は最後のカラムを使用

$('#todayApt').on('show.bs.modal', function (event){ 
$('#todayAptList').DataTable({ 
    "ajax": { 
     "url": '{{ url('panel/appointment/ajax/schedule/week/lookup') }}', 
     dataSrc: '' 
    }, 
    "columns": [ 
     { "data": "date" }, 
     { "data": "office" }, 
     { "data": "block" }, 
     { "data": "last_name" }, 
     { "data": "street_1" }, 
     { "data": "zip_code" }, 
     { "data": "phone_1" }, 
     { 
      "data": null, 
      render: function (data, type, row) { 
         var details = row.service_detail + " " + row.mp_detail + " " + row.special_detail; 
         return details; 
        } 
     } 
    ] 
}); 

を:あなたは複合インフォたい列にこのような何かを行うことができます(未テストを、私はちょうど私が今日、以前とまったく同じことを行うために使用されるいくつかのコードを修正します)この例では、行パラメータには元のjsonオブジェクトが含まれている必要があります。

関連する問題