php - Sylius [管理员] 如何直接在存储库功能中获取登录用户详细信息
问题描述
我需要在存储库函数(createListQueryBuilder)中获取记录的用户详细信息,而不需要从控制器传递用户详细信息。
这就是我的存储库的样子。
class ProductRepository extends BaseProductRepository
{
public function createListQueryBuilder(string $locale, $taxonId = null): QueryBuilder
{
$queryBuilder = $this->createQueryBuilder('o')
->addSelect('translation')
->innerJoin('o.translations', 'translation', 'WITH', 'translation.locale = :locale')
->setParameter('locale', $locale)
;
if (null !== $taxonId) {
$queryBuilder
->innerJoin('o.productTaxons', 'productTaxon')
->andWhere('productTaxon.taxon = :taxonId')
->setParameter('taxonId', $taxonId)
;
}
return $queryBuilder;
}
}
解决方案
我已经在这里回答了。
对于更多上下文,此方法将用于Sylius Grid 配置,当 Doctrine ORM ( ) 用作驱动程序时,该配置支持Symfony 的表达式语言用于存储库方法参数。doctrine/orm
推荐阅读
- android - 难以使用矢量绘图创建自定义形状
- php - 动态输入未记录在数组 PHP 中
- windows-10 - 带有重定向到 HTML 的 Wifi 热点
- json - ReactJS 使用 JSON Schema 验证 JSON 对象
- python - 多个 Csv 到 json,没有重复的子元素
- ios - 如何根据同一节 Swift 4 中的数组更改 UITableViewCell 颜色
- elm - `Msg` 类型如何在 Elm 中分成多种类型?
- swift - Xcode Autocomplete 不适用于特定项目,但适用于其他项目
- sql - 根据另一列计算一列并在不同的表中显示计数
- c# - 在单独的 GridViews C# Asp.Net 中显示 DataTable 数据