Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getVariantDetailQuery example
public
function
getOne
(
$id
, array
$options
=
[
]
)
{
$this
->
checkPrivilege
(
'read'
)
;
if
(
empty
(
$id
)
)
{
throw
new
ParameterMissingException
(
'id'
)
;
}
$builder
=
$this
->
getRepository
(
)
->
getVariantDetailQuery
(
)
;
$builder
->
addSelect
(
'article'
)
->
andWhere
(
'variants.id = :variantId'
)
->
addOrderBy
(
'variants.id', 'ASC'
)
->
addOrderBy
(
'customerGroup.id', 'ASC'
)
->
addOrderBy
(
'prices.from', 'ASC'
)
->
setParameter
(
'variantId',
$id
)
;
$variant
=
$builder
->
getQuery
(
)
->
getOneOrNullResult
(
$this
->
getResultMode
(
)
)
;
if
(
!
$variant
)
{
throw
new
NotFoundException
(
sprintf
(
'Variant by id %d not found',
$id
)
)
;
}
protected
function
getArticleVariants
(
$articleId
)
{
$builder
=
$this
->
getRepository
(
)
->
getVariantDetailQuery
(
)
;
$builder
->
andWhere
(
'article.id = :articleId'
)
->
andWhere
(
'variants.kind = 2'
)
->
setParameter
(
'articleId',
$articleId
)
;
return
$this
->
getFullResult
(
$builder
)
;
}
/** * Helper function to remove product details for a given product * * @param ProductModel $article * * @return void */