gpt4 book ai didi

php - MySQL 表中的同名字段会互相覆盖 - Laravel

转载 作者:行者123 更新时间:2023-11-29 10:52:41 25 4
gpt4 key购买 nike

因此,我需要在两个表(项目和类别)之间进行联接。

我正在 Laravel 中编码,这就是我所拥有的:

$items = DB::table('items')
->join('categories', 'categories.id', '=', 'items.category_id')
->get();

然后我得到一些像这样的结果:

{
id: 3,
barcode: "0002",
category_id: "4",
price: 200,
in_use: 1,
serial_number: 1112,
model: "Toshiba",
condition_id: 3,
person_id: 1,
comments: "A monitor that is usually connected to a laptop.",
created_at: "2017-03-28 19:50:02",
updated_at: "2017-03-28 19:50:02",
name: "monitor",
},
{
id: 3,
barcode: "0003",
category_id: "4",
price: 300,
in_use: 1,
serial_number: 11342,
model: "Toshiba",
condition_id: 3,
person_id: 1,
comments: "A monitor that is usually connected to a laptop.",
created_at: "2017-03-28 19:50:02",
updated_at: "2017-03-28 19:50:02",
name: "monitor",
},

两个表都有一些具有相同名称的字段,例如 id created_atupdated_at。问题在于,由于它们具有相同的名称,一个表的值会覆盖另一个表的值。当第二个表值具有相同的列名时,如何使第二个表值不覆盖第一个表中的值?或者,更好的是,如何(从两个表中)取回两个值?也许以某种方式使用 AS 关键字?

感谢您的帮助。

最佳答案

是的,您应该对每个重复字段使用 AS 关键字

这就是它的工作原理:

$items = DB::table('items')
->join('categories', 'categories.id', '=', 'items.category_id')
->select('field1', 'field2 as field2name', 'field3')
->get();

注意:对于具有相同名称的字段,请这样使用:'table.field'

关于php - MySQL 表中的同名字段会互相覆盖 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43455720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com