应用程序可在app_dev.php中工作,但使用app.php不可见 [英] Application works in app_dev.php, but not visible using app.php
问题描述
我真的很困惑.我正在使用Symfony 2.7和主义作为其本机ORM. 因此,当我使用app_dev.php启动它时,一切正常,但是当我使用app.php启动它时,一切正常.
I am really confused. I am using Symfony 2.7 and doctrine as its native ORM. So everything works as it is supposed to work when I start it using app_dev.php, but when I start it using app.php.
它根本不起作用. 在日志中显示
It just doesn't work. In logs it says
[2017-11-27 09:02:51] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\DBALException: "An exception occurred while executing 'SELECT t1.id AS id2, t1.code AS code3, t1.created AS created4, t1.updated AS updated5, t1.template_code AS template_code6, t1.label_attribute_id AS label_attribute_id7 FROM pim_catalog_family t1 WHERE t0.code = ? LIMIT 1' with params ["city_actions"]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.code' in 'where clause'" at /var/www/html/pim-community-standard/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php line 91 {"exception":"[object] (Doctrine\\DBAL\\DBALException(code: 0): An exception occurred while executing 'SELECT t1.id AS id2, t1.code AS code3, t1.created AS created4, t1.updated AS updated5, t1.template_code AS template_code6, t1.label_attribute_id AS label_attribute_id7 FROM pim_catalog_family t1 WHERE t0.code = ? LIMIT 1' with params [\"city_actions\"]:\n\nSQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.code' in 'where clause' at /var/www/html/pim-community-standard/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:91, PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.code' in 'where clause' at /var/www/html/pim-community-standard/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:694)"} []
这确实是可以自我解释的,因此找不到t0,因为它不存在. 我已经尝试过清除主义的缓存并清除应用程序的常规缓存,但是没有任何效果. 我已经使用了此命令-
This is really self explainable, so it can't find t0 because it doesn't exists. I have tried already to clear the cache for doctrine and to clear general cache of the application, but nothing works. I have used this commands -
php app/console doctrine:cache:clear-metadata
php app/console doctrine:cache:clear-query
php app/console doctrine:cache:clear-result
php app/console cache:clear --env=prod
有人知道这里发生了什么吗?
Does anyone have any clue what is happening in here ?
<?php
/**
* Created by PhpStorm.
* User: nebo
* Date: 2.11.17.
* Time: 10.50
*/
namespace Iclei\Bundle\BackendBundle\Entity;
use Pim\Bundle\CatalogBundle\Entity\Family as BaseFamily;
class Family extends BaseFamily
{
protected $template_code;
/**
* @return mixed
*/
public function getTemplateCode()
{
return $this->template_code;
}
/**
* @param mixed $template_code
*/
public function setTemplateCode($template_code)
{
$this->template_code = $template_code;
}
}
这是我的family.orm.yml
And this is my family.orm.yml
Bundle\BackendBundle\Entity\Family:
type: entity
table: pim_catalog_family
changeTrackingPolicy: DEFERRED_EXPLICIT
repositoryClass: Pim\Bundle\CatalogBundle\Doctrine\ORM\Repository\FamilyRepository
uniqueConstraints:
pim_category_code_uc:
columns:
- code
fields:
template_code:
type: text
nullable: true
推荐答案
强制清除缓存:
rm -rf var/cache/*
确保该列存在,并且您的映射也有效:
Make sure the column exists, also that your mapping is valid:
bin/console -e=prod doctrine:schema:validate
这里没有魔术.
这篇关于应用程序可在app_dev.php中工作,但使用app.php不可见的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!