#cakephp
#cakephp
Вопрос:
Я делаю приложение, которое показывает некоторые продукты с ценой для зарегистрированных пользователей. При создании страницы продукта покажите мне «Ошибка базы данных» «Ошибка: SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец ‘Product.utype’ в ‘where clause'»
Мой 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));
}
}
И модель 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' => ''
)
);
}
Можете мне помочь, пожалуйста?
Спасибо.
Ответ №1:
За очень явную ошибку:
Ошибка: SQLSTATE[42S22]: столбец не найден: 1054 Неизвестный столбец ‘Product.utype’ в ‘where предложение'»
Ваш код ищет столбец ‘utype’ в products
таблице (который, по-видимому, не существует). Если вы не уверены, где ваш код сообщает ему об этом, просто выполните поиск по всему проекту для «utype» и обновите его до правильного имени поля.