Как поместить значение «множественный выбор» в таблицы данных в codeigniter - PullRequest
0 голосов
/ 24 марта 2019

У меня есть значение «множественный выбор» в моей таблице, когда я пытаюсь опубликовать его в моей таблице данных, появляется сообщение «Не найдено подходящих записей». я использую 'json_encode' для отправки массива в базу данных.

мой стол выглядит так.

my tb_produc:

+------------+--------------+---------------+------------+
| id_product | name_product | id_categories |  price     |
+--------------------------------------------------------+
| 1          | cola         |   ["1","3"]   |  1         |
| 2          | burger       |   ["2","3"]   |  4         |
+--------------------------------------------------------+

my tb_categories:

+------------+--------------+
| id_cat     | name_cat     |
+---------------------------+
| 1          | drink        |
| 2          | food         |
| 3          | fat          |
+---------------------------+

когда я пытаюсь показать его в таблице данных после таблицы соединения, он говорит: «Не найдено подходящих записей».

Модель:

function get_all_product() {
$this->datatables->select('id_product, name_product, name_cat, price');
$this->datatables->from('tb_product');
$this->datatables->join('tb_stock', 'id_categories=id_cat');

$data = $this->datatables->generate();

Контроллер:

function get_product_json() { 
    header('Content-Type: application/json');
    echo $this->m_table->get_all_product();
}

вид:

<tr>
    <th>Id</th>
    <th>Product Name</th>
    <th>Categories</th>
    <th>Price</th>
</tr>

ЯШ:

var table = $("#fproduk").dataTable({
'aoColumnDefs': [{
    'bSortable': false,
    'aTargets': -1
 }],
initComplete: function() {
    var api = this.api();
    $('#fproduk_filter input')
        .off('.DT')
        .on('input.DT', function() {
            api.search(this.value).draw();
    });
},
    oLanguage: {
    sProcessing: "loading..."
},
    processing: true,
    serverSide: true,
    ajax: {"url": "../datatable/get_produk_json", "type": "POST"},
          columns: [
              {"data": "id_product"},
              {"data": "name_product"},
              {"data": "name_cat"},
              {"data": "price", render: $.fn.dataTable.render.number(',', '.', '')}
        ],
        order: [[1, 'asc']],
rowCallback: function(row, data, iDisplayIndex) {
    var info = this.fnPagingInfo();
    var page = info.iPage;
    var length = info.iLength;
    $('td:eq(0)', row).html();
} 

});

Other Datatable, которые не используют «множественный выбор», работают нормально, но не с ним.

То, что я хочу получить в результате получения данных, выглядит следующим образом.

+------------+--------------+-------------------+------------+
| Id         | Product Name |  Categories       |  Price     |
+------------------------------------------------------------+
| 1          | cola         |   Drink, Fat      |  1         |
| 2          | burger       |   Food, Fat       |  4         |
+------------------------------------------------------------+

Спасибо за внимание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...