我有两张table
表格语言
表格版本
在这两个表中,id都是主键
版本表中的language_id是语言表的外键。
我正在运行一个内部连接,下面是我的查询。
$table_name = $wpdb->prefix . 'versions';
$languages_table = $wpdb->prefix.'languages';
$sql = "SELECT * FROM $table_name INNER JOIN $languages_table ON $table_name.language_id = $languages_table.id";
$rows = $wpdb->get_results($sql);
实际使用
此输出
{
"success": true,
"data": {
"rows": [
{
"id": "40",
"abbreviation": "kjv",
"name": "English",
"language_id": "40",
"code": "en",
"native_name": "English"
}
]
}
}
版本表的ID和名称被语言ID和名称覆盖。我理解表列应该定义为具有唯一列名。
预期输出
我可以得到一个输出从sql与separate属性如下所示。
{
"success": true,
"data": {
"rows": [
{
"id": "1",
"abbreviation": "kjv",
"name":"Kings James Vesion",
"language_id": "40",
"language": {
"id":"40",
"name": "English",
"code": "en",
"native_name": "English"
}
}
]
}
}
或者我应该单独运行一个循环并为每一行获取。
1条答案
按热度按时间cgh8pdjw1#
我将删除“SELECT *"。除了这个问题之外,当您稍后更改表结构时,它可能会引入错误。你可以在真正需要的时候格式化代码中的数据。