我在为PHP制作API时遇到了同样的问题。
试试这个,将你的Item名称,数量和日期声明为TEXT,并在这些字段中插入嵌套的JSON。
即
//while adding to DB json will look like
"[{ABC},{PQR},{XYZ}]","[{23},{56},{14}]","[{23/05/1900 12:00 GMT},{23/05/1908 12:00 GMT},{23/05/1980 12:00 GMT}]"
所以,
"[{ABC},{PQR},{XYZ}]"
转到item_name列,
"[{23},{56},{14}]"
进入数量列,
"[{23/05/1900 12:00 GMT},{23/05/1908 12:00 GMT},{23/05/1980 12:00 GMT}]"
进入日期专栏
作为简单的字符串或文本。以下是我的表格HTML代码(忽略风格☺)
<table>
<thead>
<tr>
<td>ITEM_NAME</td>
<td>QUANTITY</td>
<td>DATE</td>
</tr>
</thead>
<tbody>
<tr>
<td>ABC</td>
<td>23</td>
<td>23/05/1900 12:00 GMT</td>
</tr>
<tr>
<td>PQR</td>
<td>56</td>
<td>23/05/1908 12:00 GMT</td>
</tr>
<tr>
<td>XYZ</td>
<td>14</td>
<td>23/05/1980 12:00 GMT</td>
</tr>
</tbody>
因此,在添加到数据库时,您需要首先将数据推送到对象然后Stringyfy然后发送到数据库。在从数据库获取并再次显示到UI时,您需要将这些字符串解析回对象,然后您可以应用循环,就像它是嵌套对象一样。
快乐编码☻
您不能使用具有相同主键的多个行。对于每个项目,您必须创建单独的行。
如果你想实现这些,那么有两种方式:
1)创建主表:其中包含项目信息以外的所有行信息。创建子表:使用main_table_id作为forgin键,包含所有项目信息。 2)您可以创建项目列并将所有项目和数量存储为JSON格式。(mysql> = 5.7支持json格式),如:
id Item_data (json format) date
1 {["name":"Pen","quantity":10],["name":"xyz","quantity":1]} 2019/02/13
2 {["name":"gfdgf","quantity":10],["name":"asa","quantity":1]} 2019/02/13
您的情况有3种选择: