在app \ Controller \ CarrierController.php
中<?php
class CarriesController extends AppController {
public function index(){
if($this->request->is('post')){
$this->Carries->create();
if ($this->Carries->save($this->request->data)) {
$this->Session->setFlash(__('Your contact has been saved.'));
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('Unable to add your contact.'));
}
}
}
}
和它的模型 // Carriers.php ////运营商是表格字段插入
<?php
class Carriers extends AppModel{
public $useTable='carriers';
}
?>
最后是视图app \ View \ Carries \ index.cpt
<h1>welcome to Carriers</h1>
<br />
<br/>
<?php echo $this->Form->create('Carriers', array('enctype' => 'multipart/form-data'));?>
<table>
<tr><h3>Register here</h3></tr>
<tr><td>F.Name</td><td><?php echo $this->Form->text('fname'); ?></td></tr>
<tr><td>L.Name</td><td><?php echo $this->Form->text('lname');?></td></tr>
<tr><td>Date Of Birth</td><td><?php echo $this->Form->date('dob');?></td></tr>
<tr><td>Degree</td><td><?php echo $this->Form->select('field', array('options' => array('B.E','B.sc','Mca','Mtech','Mba'),'empty' => '(choose)')); ?></td></tr>
<tr><td>Sex</td><td><?php
$options=array('M'=>'Male','F'=>'Female');
$attributes=array('legend'=>false);
echo $this->Form->radio('gender',$options,$attributes);
?></td></tr>
<tr><td><?php echo $this->Form->input('Carriers.Resume', array('between'=>'<br />','type'=>'file'));?></td></tr>
<tr><td><?php echo $this->Form->end('Apply');?></td></tr>
</table>
这里收到错误
答案 0 :(得分:4)
模型类名称是单数和CamelCased。
如果您有数据库表carriers
,则型号名称为Carrier
。
控制器文件在问题中是单数的,如果网址是/carrier/xxx
(并且类存在),它将起作用 - 因为CakePHP不会对网址应用任何变形魔法。
然而,期望的URL将是:/carriers/xxx
(即控制器名称是复数)。在问题中,文件名是单数,类名是拼写错误:
in app\Controller\CarrierController.php
^^^^^^^
class CarriesController
^^^^^^^
CakePHP不会在错误名称的文件中找到类,或者使用位于正确位置但错误名称=的类。
答案 1 :(得分:0)
它是一个Camelcase名称问题, 否则,如果你想保持这样,你可以简单地手动加载模型 与
public function index(){
if($this->request->is('post')){
$this->loadModel('Carriers');
$this->Carries->create();
// ...
}
}
或
将此属性添加到控制器
public $uses = array('Carriers');
祝你好运。