バージョン選択

フォーラム

メニュー

オンライン状況

36 人のユーザが現在オンラインです。 (28 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 36
もっと...

サイト内検索

質問 > 管理機能 > 4.2でマスターテーブルを作成出来ない

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kacchanx
投稿日時: 2022/10/26 10:03
対応状況: −−−
新米
登録日: 2022/10/26
居住地:
投稿: 2
4.2でマスターテーブルを作成出来ない
▼テンプレート
[EC-CUBE] EC-cube4.2、新規
[レンタルサーバ] local サーバー MAMP
[OS] Mac OS、バージョン
[PHP] 8.0.8
[データベース] MY SQL 5.7.34
[WEBサーバ] local
[ブラウザ] 使用しているブラウザ名、バージョン
[導入プラグインの有無] 無し
[カスタマイズの有無] なし
[現象] マスターテーブルを追加するため、Entity とRepositoryをapp/Customizeに作成
し、コマンドラインでキャッシュを削除した時に以下のエラーが派生
Cannot autowire service "Customize\Repository\Master\ColorRepository": argument "$registry" of method "__construct()" has type "Symfony\Bridge\Doctrine\RegistryInterface" but this class wa
s not found.

Entity fileソースは以下を app\Customize\Entity\Master にcolor.php で作成
------
<?php

namespace Customize\Entity\Master;

use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Table(name="mtb_color")
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="discriminator_type", type="string", length=255)
* @ORM\HasLifecycleCallbacks()
* @ORM\Entity(repositoryClass="Customize\Repository\Master\ColorRepository")
* @ORM\Cache(usage="NONSTRICT_READ_WRITE")
*/
class color extends \Eccube\Entity\Master\AbstractMasterEntity
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", options={"unsigned":true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;

/**
* @var string
*
* @ORM\Column(name="color_name", type="string", length=255)
*/
private $color_name;

/**
* @var string|null
*
* @ORM\Column(name="c_code", type="string", length=128, nullable=true)
*/
private $c_code;

/**
* @var \DateTime
*
* @ORM\Column(name="create_date", type="datetimetz")
*/
private $create_date;

/**
* @var \DateTime
*
* @ORM\Column(name="update_date", type="datetimetz")
*/
private $update_date;

/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}

/**
* Set color_name.
*
* @param string $color_name
*
* @return color
*/
public function setC_Name($color_name)
{
$this->color_name = $color_name;

return $this;
}

/**
* Get color_name.
*
* @return string
*/
public function getC_Name()
{
return $this->color_name;
}

/**
* Set c_code.
*
* @param string|null $color_code
*
* @return color
*/
public function setC_Code($c_code = null)
{
$this->c_code = $c_code;

return $this;
}

/**
* Get c_code.
*
* @return string|null
*/
public function getC_Code()
{
return $this->c_code;
}

/**
* Set createDate.
*
* @param \DateTime $createDate
*
* @return Maker
*/
public function setCreateDate($createDate)
{
$this->create_date = $createDate;

return $this;
}

/**
* Get createDate.
*
* @return \DateTime
*/
public function getCreateDate()
{
return $this->create_date;
}

/**
* Set updateDate.
*
* @param \DateTime $updateDate
*
* @return Maker
*/
public function setUpdateDate($updateDate)
{
$this->update_date = $updateDate;

return $this;
}

/**
* Get updateDate.
*
* @return \DateTime
*/
public function getUpdateDate()
{
return $this->update_date;
}
}

ーーーーー

Repository Fileは app\Customize\Repository\\Master にColorRepository.phpで作成

<?php

namespace Customize\Repository\Master;

use Customize\Entity\Master\color;
use Eccube\Repository\AbstractRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;

class ColorRepository extends AbstractRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, color::class);
}
}

キャッシュをクリアする為に以下をコマンドラインから入力
> php bin/console cache:clear --no-warmup
その際、以下のエラーで停止

Cannot autowire service "Customize\Repository\Master\IchigoColorRepository": argument "$registry" of method "__construct()" has type "Symfony\Bridge\Doctrine\RegistryInterface" but this cl
ass was not found.

気になるのは、Symfony関連で検索をしたときに、
https://github.com/symfony/symfony/issues/32394
とあります。

解決策をご教示いただけますと助かります
shinra
投稿日時: 2022/10/26 10:26
対応状況: −−−
一人前
登録日: 2017/9/2
居住地:
投稿: 124
Re: 4.2でマスターテーブルを作成出来ない
4.2系ではSymfonyのバージョンが上がっていてRegistryInterfaceは利用出来なくなっていますね

ColorRepository.phpの
use Symfony\Bridge\Doctrine\RegistryInterface;

use Doctrine\Persistence\ManagerRegistry as RegistryInterface;
にする事で動作するのでは無いでしょうか
kacchanx
投稿日時: 2022/10/27 16:41
対応状況: −−−
新米
登録日: 2022/10/26
居住地:
投稿: 2
Re: 4.2でマスターテーブルを作成出来ない
Shinra さん

お教え頂いた方法で動作いたしました。
大変助かりました。
ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,686名です
総投稿数は109,932件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1279
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.