我一直在制动我的大脑试图弄清楚如何建模,而不是去低级别的PHP。 所以我有这些模型/表格:
学生(身份证,姓名)。 程序(id,name,startdate,enddate,firstpaymentDueDate,qtyOfPeriods,price)。
我必须将学生的申请注册到几个月的课程中。 所以我想要一张桌子: paymentSchedule(id,student_id,dueDate,amount) 由于一个程序最多可以有10个句点,因此我需要在paymentSchedule中为每个学生应用程序添加自动10个记录。 我的问题是,这是否可以建模?
我希望使用paymentSchedule来记录付款并将其插入到交易表中。
感谢您的支持,感谢您开发出如此出色的工具包!
答案 0 :(得分:2)
简短的答案:是,您可以在ATK4中对此进行建模
你基本上完全设置了所有表格。
要创建模型,只需创建一个文件Student.php并放置它 在/ lib / Model /文件夹中。
class Model_Student extends Model_Table {
public $entity_code = 'Student';
function init() {
parent::init();
$this->addField('name')->caption('Student Name');
}
}
您可以对其他表格执行相同的操作:
Program (id, name, startdate, enddate, firstpaymentDueDate, qtyOfPeriods, price)
和
paymentSchedule (id, student_id, dueDate, amount)
要了解有关模型的更多信息,建议您阅读介绍: http://agiletoolkit.org/learn/understand/model/intro
处理表格(如paymentSchedule
)是另一回事
故事一共。您需要DSQL(动态SQL)才能执行此操作。
假设您的Program
表位于名为的模型类中
Model_Program
。要检索条目:
$m = $this->add('Model_Program');
$v = $m->dsql()
->field('qtyOfPeriods')
->field('price')
->where('id=',$programid) // specific program
->do_getOne();
$m = $this->add('Model_PaymentSched');
$r = $m->dsql()
->set('student_id',$studentid) // specific student
->set('amount',$v['price'])
->do_insert();
这将检索特定程序的条目和 然后将其插入付款计划中: