【问题标题】:Get data from MySQL tables从 MySQL 表中获取数据
【发布时间】:2019-03-15 18:13:08
【问题描述】:

如何显示类别名称?

我有两个表,prodcategory,现在我想在这个表之间进行连接以显示获取产品您的类别。当我添加一个 now 产品时,我会指定特定的类别 ID。

这里有另一个信息

Prods.belongsTo(Categs, {foreignKey: 'categ_id', targetKey: 'id'}) ,

ProdsCategs 是两个带有续集的模型。

Prods 收件人:idnamecategory_id

Categs 收件人:id, name;

在 prods.js 中我有:

function save() {
    var form = $('#re_form').serializeObject();
    if(form.id) {
        update(form);
    } else {
        create(form);
    }
}

function create(form) {
    $.ajax({
        url: '/prods/',
        type: 'POST',
        accepts: {
            json: 'application/json'
        },
        data: form,
        success: function(data) {
            var row = '<tr id="row_id_'+ data.id +'">'
                + getColumns(data)
                + '</tr>';
            $('#ar').append(row);
        } 
    });
}

function getColumns(value) {
    return '<td>'+value.id+'</td>'
        + '<td class="name">'+value.categ.name+'</td>'
        + '<td class="name">'+value.name+'</td>'
}

在 HTML 中:

<div>
<label for="name">id Categ</label>
<input type="text" name="categ_id" id="categ_id" class="form-control"/>
</div>

错误:未捕获的类型错误:无法读取类别名称未定义的属性“名称”

【问题讨论】:

  • 这里:+ ''+value.categ.name+'' 给出错误
  • 使用 dataType: 'json' 告诉 $.ajax 它返回 JSON。
  • 我做了这个更新:$.ajax({ url: '/prods/', type: 'POST', dataType: 'json', 但同样的错误。
  • console.log(typeof data, data) 显示什么?
  • 我想因为我没有在 prods 和categs 之间加入.. ei: " select c.name from prods p left join categs c on p.prod_id = c.prod_id".. 我认为那是必要的,但我不知道如何做到这一点......我希望你明白我的解释......非常感谢!

标签: javascript node.js ajax html


【解决方案1】:

您需要加入表格。由于两个表都有idname 列,因此需要使用别名来区分它们。

SELECT p.id AS product_id, p.name AS product_name, c.id AS category_id, c.name AS category_name
FROM prods AS p
JOIN Categs AS c ON p.category_id = c.id

然后您可以使用 value.product_namevalue.category_name 在 JavaScript 中访问这些结果。

【讨论】:

    猜你喜欢
    • 2018-11-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    相关资源
    最近更新 更多