我想为1个实体使用2个存储库.
原因是:我有2个捆绑包,两个捆绑包都使用相同的实体.我希望将两种功能分开.有时我需要特定的查询到bundle.
可以将1个存储库放入捆绑包中,将第二个存储库放在另一个存储库中吗?也许这是一种错误的方式?
如果有人有想法.
谢谢 !
我会创建 2 个存储库。将所有方法添加到一个存储库是没有意义的,仅仅因为它们共享实体。通过这种方式,我们最终可以为每个存储库提供 30 个方法。
namespace App\Repository;
use App\Entity\Post;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityRepository;
final class FrontendPostRepository
{
/**
* @var EntityRepository
*/
private $repository;
public function __construct(EntityManagerInterface $entityManager)
{
$this->repository = $entityManager->getRepository(Post::class);
}
/**
* @return Post[]
*/
public function getAll(): array
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
namespace App\Repository;
use App\Entity\Post;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityRepository;
final class AdminPostRepository
{
/**
* @var EntityRepository
*/
private $repository;
public function __construct(EntityManagerInterface $entityManager)
{
$this->repository = $entityManager->getRepository(Post::class);
}
/**
* @return Post[]
*/
public function getUnpublished(): array
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |