我可以使用atk4模型吗?

时间:2012-02-02 14:36:48

标签: model-view-controller model atk4

我一直在制动我的大脑试图弄清楚如何建模,而不是去低级别的PHP。 所以我有这些模型/表格:

学生(身份证,姓名)。 程序(id,name,startdate,enddate,firstpaymentDueDate,qtyOfPeriods,price)。

我必须将学生的申请注册到几个月的课程中。 所以我想要一张桌子: paymentSchedule(id,student_id,dueDate,amount) 由于一个程序最多可以有10个句点,因此我需要在paymentSchedule中为每个学生应用程序添加自动10个记录。 我的问题是,这是否可以建模?

我希望使用paymentSchedule来记录付款并将其插入到交易表中。

感谢您的支持,感谢您开发出如此出色的工具包!

1 个答案:

答案 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();

这将检索特定程序的条目和 然后将其插入付款计划中: