Php 如何使用Ar模型类将Web Service/xml/json中的数据插入Mysql数据库

Php 如何使用Ar模型类将Web Service/xml/json中的数据插入Mysql数据库,php,api,rest,yii,Php,Api,Rest,Yii,我是Yii的新手,仍然在学习和热爱Yii。所以问题是我必须建立一个基于Amazon web服务的产品检索系统 首先,我创建了必要的表来保存有关产品的信息。然后,我使用令人敬畏的Gii创建了模型类。之后,我再次使用Gii生成积垢。现在我有点困了。因此,Gii提供了一个表单,让用户用必要的信息填充表格。现在在我的系统/应用程序中,我不需要表单输入,也不需要保存产品信息的任何主表。这些表应该自动填充从AmazonAPI收集的数据。只有少数表可以具有与输入字段相关的表单 那么,有谁能为我指明正确的方向,

我是Yii的新手,仍然在学习和热爱Yii。所以问题是我必须建立一个基于Amazon web服务的产品检索系统

首先,我创建了必要的表来保存有关产品的信息。然后,我使用令人敬畏的Gii创建了模型类。之后,我再次使用Gii生成积垢。现在我有点困了。因此,Gii提供了一个表单,让用户用必要的信息填充表格。现在在我的系统/应用程序中,我不需要表单输入,也不需要保存产品信息的任何主表。这些表应该自动填充从AmazonAPI收集的数据。只有少数表可以具有与输入字段相关的表单

那么,有谁能为我指明正确的方向,告诉我如何开始实现该功能。我是否应该从相应的视图中删除此代码,并在控制器类中编写功能

<div class="row">
<?php echo $form->labelEx($model,'type_id'); ?>
<?php echo $form->textField($model,'type_id'); ?>
<?php echo $form->error($model,'type_id'); ?>
</div>

在生成Gii代码时,我尝试删除未使用的任何内容。如果保留在中,则会使维护更加困难,如果需要,您可以随时在以后添加它

控制器不需要与表相关。如果有的话,它们应该与功能领域相关(例如RestapicController或ReportController)

你应该让你的控制器尽可能薄。如果模型中有适当的逻辑,那么单元测试就更容易了。请参阅Yii最佳实践文档的最后一段

就我个人而言,我认为Gii CRUD生成只适用于管理级配置。例如,您需要了解数据库设计/关系,才能正确创建数据。对于普通用户来说,它可能非常复杂,并且不太友好


我一直在考虑在我的Yii项目中添加一个。这就是您所有业务逻辑布线的地方。

太好了!这正是我所期待的建议。是的,我正在从头开始建立数据库,这样我就知道了什么关系。你认为我应该如何删除Gii生成的代码?我的意思是这不会破坏其他相关的东西。例如,我不需要Gii提供的默认表单,因为您知道表应该从API获取输入。所以我应该从视图文件中删除相关代码吗。或者我应该单独看一看。哦,还有一件事。关于保持控制器的精简,你认为我会怎么做。您认为模型中可以保留哪些逻辑。不管怎样,我真的很感谢你的建议。现在感觉很有动力。多亏了LOT,您通常可以删除控制器并查看代码,而不会产生太大的影响。Gii生成的模型是非常基本的。所有控制器应该做的就是接受web请求,进行身份验证并获取视图的数据。所有繁重的工作都应该尽可能地推到模型上。这是我的观点。
1) What are the conventions when building an automated/real time system ?
2) How to initialize the specific controller logic sequence
3) How to get the most benefit from the CRUD/Model/Module system already built by Gii ?