我有一个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
和无脂肪框架。
任何人都可以解释如何做到这一点吗?
- 编辑 -
我认为如何保存数据的完整逻辑在后端。 使用DTO(数据传输对象)和DAO(数据访问对象)等。
答案 0 :(得分:0)
如果要接受对象图,则需要对其进行解析,然后对数据库进行适当的调用。
例如,假设你有一张表"数字"有列" typeId"和"数字"你可能想要在你的"联系"做类似......的课程。
// 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()
可能适用的地方。