Symfony 2.1 で顧客ケース管理システムを作成していますが、解決できない奇妙な問題に遭遇しました。何らかの理由で で showAction を実行するとCustomerCaseController
、次のエラーが発生します。
「クラス HSW\AshaBundle\Entity\UserInterface は存在しません」
500 内部サーバー エラー
アプリケーションのどの部分がそのインターフェースを必要としているかわかりません。空のUserInterface.php
クラスを作成すると、問題はなくなり、すべてが機能します。なぜshowAction
必要なのUserInterface
ですか?
問題を絞り込んで、showController の次のコードに何らかの形で関連付けました。
$customercase = $this->getDoctrine() ->getRepository('HSWAshaBundle:CustomerCase') ->find($id);
次のエンティティがあります。
User
(ログインおよびケース提出用)Customer
(お客様向け)CustomerCase
(ケース用)。
は、エンティティと次のようにCustomerCase
ManyToOne 関係がCustomer
あります。User
// src/HSW/AshaBundle/Entity/CustomerCase.php 名前空間 HSW\AshaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\Common\Collections\ArrayCollection;
/**
* CustomerCase
*
* @ORM\Table(name="hsw_customerCase")
* @ORM\Entity
* @Gedmo\Loggable
* @Gedmo\SoftDeleteable(fieldName="deletedAt")
*/
class CustomerCase
{
/**
* @ORM\ManyToOne(targetEntity="Customer", inversedBy="customerCases")
* @ORM\JoinColumn(name="customer_id", referencedColumnName="id", nullable=false)
*/
protected $customer;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="createdCustomerCases")
* @ORM\JoinColumn(name="creator_id", referencedColumnName="id", nullable=false)
*/
protected $creator;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="holdingCustomerCases")
* @ORM\JoinColumn(name="holder_id", referencedColumnName="id", nullable=false)
*/
protected $holder;
.....etc....
// src/HSW/AshaBundle/Entity/CustomerCase.php 名前空間 HSW\AshaBundle\Entity;
use Symfony\Component\Security\Core\User\EquatableInterface;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
use Doctrine\Common\Collections\ArrayCollection;
/**
* HSW\AshaBundle\Entity\User
*
* @ORM\Table(name="hsw_users")
* @ORM\Entity(repositoryClass="HSW\AshaBundle\Entity\UserRepository")
*/
class User implements AdvancedUserInterface
{
.....etc....
User エンティティとの関係は、これに何らかの影響を与える可能性がありますか? CustomerCase.php
それがとの間に見える唯一の目に見える違いですCustomer.php
(showAction
なしで動作する場所UserInterface
)。
誰かがこの動作をデバッグするのを手伝ってくれますか?. UserInterface
Symfony が (未知の理由で) 必要とするという理由だけで、空のクラスを持つことは本当に役に立たないようです。