Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getParentField example
$pkFields
[
$field
->
getStorageName
(
)
]
=
$field
;
}
}
$query
=
$this
->connection->
createQueryBuilder
(
)
;
$query
->
from
(
EntityDefinitionQueryHelper::
escape
(
$definition
->
getEntityName
(
)
)
)
;
$query
->
addSelect
(
'1 as `exists`'
)
;
if
(
$definition
->
isChildrenAware
(
)
)
{
$query
->
addSelect
(
'parent_id'
)
;
}
elseif
(
$definition
->
isInheritanceAware
(
)
)
{
$parent
=
$this
->
getParentField
(
$definition
)
;
if
(
$parent
!== null
)
{
$query
->
addSelect
(
EntityDefinitionQueryHelper::
escape
(
$parent
->
getStorageName
(
)
)
. ' as `parent`'
)
;
}
}
foreach
(
$pkFields
as
$storageName
=>
$_
)
{
$query
->
addSelect
(
EntityDefinitionQueryHelper::
escape
(
$storageName
)
)
;
}
private
function
normalizeTranslations
(
TranslationsAssociationField
$translationsField
, array
$data
, WriteParameterBag
$parameters
, bool
$hasNormalizedTranslations
)
: array
{
if
(
!
$hasNormalizedTranslations
)
{
$definition
=
$parameters
->
getDefinition
(
)
;
if
(
!
$translationsField
->
is
(
Required::
class
)
)
{
return
$data
;
}
$parentField
=
$this
->
getParentField
(
$definition
)
;
if
(
$parentField
&&
isset
(
$data
[
$parentField
->
getPropertyName
(
)
]
)
)
{
// only normalize required translations if it's not a child
return
$data
;
}
}
try
{
$data
=
$translationsField
->
getSerializer
(
)
->
normalize
(
$translationsField
,
$data
,
$parameters
)
;
}
catch
(
WriteFieldException
$e
)
{
$parameters
->
getContext
(
)
->
getExceptions
(
)
->
add
(
$e
)
;
}