如何基于JSON名称将Angular中的ID号传递给Spring

时间:2019-05-13 21:31:55

标签: mysql json angular spring

我遇到的问题确实使我放弃了。我要获取的逻辑是根据菜谱(名称和ID)进行排序。我得到的JSON如下所示:

[
  {
"recip_id": 1,
"quantity": 500,
"price": 8.9,
"quantity_item": 0.5,
"name": "Carrot juice 100%",
"orders": [
  {
    "orders_id": 1,
    "date": "2019-05-11T22:00:00.000+0000"
  }
 ]
}
]

我需要得到的是在配方的Angular组件名称中显示(例如Carrot Juice),并从下拉列表中进行选择(可选),并基于该名称将配方的ID(“ recip_id”)传递回组件并将其作为外键“ recip_recip_id”放入订单表。

我最好的尝试(我对Angular不太了解)是:

  <br><br><br>
      <select class="form-control" [(ngModel)]="order.recip_id" placeholder="id" name="id" class="form-control" id="id">
            <option *ngFor="let item of recips" 
                   [value]="recip_id"
                   [selected]="recip_id === 'item.recip_id'">
                {{ item.name }}
                
                 <input type="text" [(ngModel)]="order.name"  value="{{ item.recip_id }}" name="recipId"  > 
            </option>
          </select>
  <ng-container>

      <br><br><br>
      <button class="btn btn-success" (click)="createOrders()">Save</button>

成功的是,我获得了基于“ recip.name”的下拉列表,但是现在我必须将所选名称的ID值传递给Orders。目前,我遇到了错误:

error: "Internal Server Error"

{message: "could not execute statement; SQL [n/a];

表格如下:

Field,Type,Null,Key,Default,Extra
orders_id,bigint(20),NO,PRI,NULL,auto_increment
date,datetime(6),YES,,NULL,
recip_recip_id,bigint(20),NO,MUL,NULL,

1 个答案:

答案 0 :(得分:0)

绑定select元素的方式不正确,这使它过于复杂。 我建议您只是将所选对象保存在组件中,并使用该对象的ID来创建新的SQL条目。

这里是Stackblitz,让您了解我的意思

所有这些都假设问题出自Angular逻辑而不是SQL实现。