让我们从我的代码的简化版本开始:
型号:Sku.php
class Sku extends AppModel {
}
控制器:SkusController.php
class SkusController extends AppController {
public function admin_add() {
$this->layout = 'admin';
if($this->request->is('post')) {
if($this->Sku->save($this->request->data)) {
// Do stuff
}
else // Do stuff
}
}
}
查看:Skus > admin_add.ctp
<?php echo $this->Form->create('Sku', array('type'=>'file')); ?>
<?php echo $this->Form->input('Sku.item_no')); ?>
<?php echo $this->Form->input('Sku.size'); ?>
<?php echo $this->Form->input('Sku.color'); ?>
<button type="submit">Save SKU</button>
<?php echo $this->Form->end(); ?>
当我提交表单时,我收到错误Call to a member function save() on a non-object。在我的控制器文件的开头,如果我添加以下一切正常,并且将新行插入到 skus 表中。
public $uses = 'Sku';
如果我使用了所有正确的命名约定,我不应该可以省略前一行吗?此外,如果我按照相同的命名约定将所有文件和类名更改为 Test ,则它可以在没有 $uses 变量的情况下工作。这让我相信我的代码中的其他地方存在某种冲突。关于为什么会发生这种情况或在哪里寻找潜在问题的任何建议?
提前致谢!