gpt4 book ai didi

php - 在php中用一个json更新多个mysql表

转载 作者:行者123 更新时间:2023-11-29 22:49:57 27 4
gpt4 key购买 nike

我有一个 AngularJS 前端,但遇到了一些与数据层相关的问题。

在前端我有联系人。

联系 JSON 对象:

  {
"id": 1,
"groupId": 1,
"firstName": "John",
"lastName": "Doe",
"email": "jd@gmail.com",
"company": "Google",
"info": "lorem ipsum dolor amet",
"numbers": [
{
"typeId": 1,
"number": "123456"
},
{
"typeId": 2,
"number": "1234567"
},
{
"typeId": 3,
"number": "8765432"
},
{
"typeId": 4,
"number": "0864235"
}
]
}

我通过一个 http 请求通过 url 获取此对象。

当我保存它时,我会将这个对象准确地返回给后端。

但是我怎样才能使用 php 更新数字表中的数字或公司表中的公司?

我的同事对我说,当我更新联系人对象中的号码时,我必须使用 /numbers/id 调用一个网址。但我只想在 /contacts 放回一个“联系人对象”并让业务层/数据层做逻辑并拆分对象以更新不同的表。

在后端,他使用 php 和 fat-free-framework。

谁能解释一下如何做到这一点?

-编辑-

我认为如何保存数据的完整逻辑在后端。具有DTO(数据传输对象)和DAO(数据访问对象)等

最佳答案

如果您想接受对象图,那么您需要解析它,然后对数据库进行适当的调用。

例如,假设您有一个表“numbers”,其中包含“typeId”和“number”列,您可能希望“contact”类中的逻辑执行类似...

// convert the JSON to PHP
$request = json_decode($contact);
if(isset($request->numbers)) {
$number = new \DB\SQL\Mapper($this->db, "number");
// loop over your number objects
foreach($request->numbers as $data) {
// create a new number entry for each one
$number->copyfrom($data);
$number->save();
$number->reset();
}
}

显然,如何以及在何处执行此操作取决于您如何构建代码,例如 contact->post()contact->put() 可能是适用的地方。

关于php - 在php中用一个json更新多个mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28938748/

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