我做了一个应用程序,显示一些产品的价格为注册人。 在创建产品页面时显示我"数据库错误" "错误:SQLSTATE [42S22]:未找到列:1054未知列' Product.utype'在' where子句'"
我的ProductsController是这样的:
class ProductsController extends AppController {
public function index() {
$this->Product->recursive = 0;
$products = $this->Product->find('all');
$this->set('products', $Product);
}
/**
* view method
*
* @throws NotFoundException
* @param string $id
* @return void
*/
public function view($id = null) {
$this->Product->id = $id;
if (!$this->Product->exists()) {
throw new NotFoundException(__('Invalid Product'));
}
$this->set('products', $this->Product->read(null, $id));
}
}
Model Product.php是这样的:
class Product extends AppModel {
public $primaryKey = 'id_prod';
/**
* belongsTo associations
*
* @var array
*/
public $belongsTo = array(
'Occurrence' => array(
'className' => 'Occurrence',
'foreignKey' => 'occurrence_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
}
可以帮助我吗? 谢谢。
答案 0 :(得分:1)
根据非常明确的错误:
错误:SQLSTATE [42S22]:找不到列:1054未知列 'where子句'中的'Product.utype'“
您的代码正在查找products
表中的列'utype'(显然不存在)。如果您不确定代码在哪里告诉它,只需在项目范围内搜索“utype”并将其更新为正确的字段名称。