الكود التالي هو كود التنفيذ لإضافة بيانات النموذج وحذفها وتعديلها ضمن CakePHP
، إليك عبارة في المثال أعلاه، تمت كتابة حقل lastupd في جدول قاعدة البيانات عن طريق الخطأ، وهذا المثال سوف يصححه.
قاعدة البيانات هي نفس المثال أعلاه باستثناء حقول الاستئناف.
ولا يزال المشروع يستخدم المثال أعلاه، كما هو موضح أدناه:
الرموز هي كما يلي:
قاعدة البيانات.php: نفس المثال أعلاه.
Companies_controller.php:
<?php
classCompaniesControllerextendsAppController
{
var$name='
functionindex();
{
$this->set('الشركات',$this->Company->findAll());
}
عرض الوظيفة(معرف $ = فارغ)
{
$this->Company->id =$id;
$this->set('company',$this->Company->read());
}
وظيفة إضافة ()
{
إذا(!فارغةفارغة($this->data))
{
إذا($هذا->الشركة->حفظ($هذا->البيانات))
{
$this->flash('تم حفظ مشاركتك.','/الشركات');
}
}
}
وظيفة تحرير (معرف $ = فارغ)
{
إذا (فارغة فارغة($هذا->البيانات))
{
$this->Company->id =$id;
$this->data =$this->Company->read();
}
آخر
{
إذا($this->Company->save($this->data['Company']))
{
$this->flash('تم تحديث مشاركتك.','/الشركات');
}
}
}
حذف الدالة(معرف $)
{
$this->الشركة->del($id);
$this->flash('تم حذف المشاركة ذات المعرف: '.$id.'.','/companies');
}
}
?>
الشركة.php:
<?php
classCompanyextendsAppModel
{
var$name='Company'
var$validate=array(
'الشركة'=> VALID_NOT_EMPTY،
'السعر'=> VALID_NOT_EMPTY،
'تغيير'=> VALID_NOT_EMPTY،
'lastupd'=> VALID_NOT_EMPTY
);
}
?>
Index.thtml:
<h1>الشركات الاختبارية</h1>
<الجدول>
<تر>
<th>المعرف</th>
<th>الشركة</th>
<th>السعر</th>
<th>التغيير</th>
<th>آخر تحديث</th>
</tr>
<?phpforeach($companiesas$company): ?>
<تر>
<td><?phpecho$company['Company']['id']; ?></td>
<TD>
<?phpecho$html->link($company['Company']['company'],"/companies/view/".$company['Company']['id']); ?>
<?phpecho$ html->link('Delete',"/companies/delete/{$company['Company']['id']}", null,'هل أنت متأكد؟')?>
</TD>
<td><?phpecho$company['Company']['price']; ?></td>
<td><?phpecho$company['Company']['change']; ?></td>
<td><?phpecho$company['Company']['lastupd']; ?></td>
</tr>
<?phpendforeach;
</الجدول>
<ص>
<?phpecho$html->link('add',"/companies/add");
</ص>
view.thtml:
<h1>الشركة: <?phpecho$company['Company']['company']?></h1>
<p><small>المعرف: <?phpecho$company['Company']['id']?></small></p>
<p>السعر: <?phpecho$company['Company']['price']?></p>
<p>التغيير: <?phpecho$company['Company']['change']?></p>
<p>التحديث الأخير: <?phpecho$company['Company']['lastupd']?></p>
<br/>
<ص>
<?phpecho$html->link('edit',"/companies/edit/".$company['Company']['id']);
</ص>
add.thtml:
<h1>إضافة شركة</h1>
<formmethod="post"action="<?php echo $html->url('/companies/add')?>">
<ص>
شركة:
<?phpecho$html->input('Company/company',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('الشركة/الشركة','الشركة مطلوبة.') ?>
</ص>
<ص>
سعر:
<?phpecho$html->input('Company/price',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('الشركة/الشركة','السعر مطلوب.') ?>
</ص>
<ص>
يتغير:
<?phpecho$html->input('Company/change',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('الشركة/التغيير','التغيير مطلوب.') ?>
</ص>
<ص>
التحديث الأخير:
<?phpecho$html->input('Company/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/lastupd','آخر تحديث مطلوب.') ?>
</ص>
<ص>
<?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index" ?>
</ص>
</النموذج>
edit.thtml:
<h1>تحرير الشركة</h1>
<formmethod="post"action="<?php echo $html->url('/companies/edit')?>">
<?phpecho$html->hidden('Company/id' ?>
<ص>
شركة:
<?phpecho$html->input('Company/company',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('الشركة/الشركة','الشركة مطلوبة.') ?>
</ص>
<ص>
سعر:
<?phpecho$html->input('Company/price',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('الشركة/الشركة','السعر مطلوب.') ?>
</ص>
<ص>
يتغير:
<?phpecho$html->input('Company/change',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('الشركة/التغيير','التغيير مطلوب.') ?>
</ص>
<ص>
التحديث الأخير:
<?phpecho$html->input('Company/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/lastupd','آخر تحديث مطلوب.') ?>
</ص>
<ص>
<?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index" ?>
</ص>
</النموذج>
يمكنك اختبار الكود بزيارة http://localhost/cakephp/companies .