/**
  * @return \Orm\Zed\Product\Persistence\SpyProductAttributesMetadataQuery
  */
 public function createProductAttributesMetadataQuery()
 {
     return SpyProductAttributesMetadataQuery::create();
 }
 /**
  * @param \Orm\Zed\Product\Persistence\SpyProductAttributesMetadataQuery $query
  * @param string $alias
  * @param string $targetField
  *
  * @return $this
  */
 protected function leftJoinProductSearchAttributeMap($query, $alias, $targetField)
 {
     $quotedAlias = $query->quoteIdentifier($alias);
     $query->joinSpyProductSearchAttributeMap($quotedAlias, Criteria::LEFT_JOIN)->addJoinCondition($quotedAlias, $alias . '.target_field = ?', $targetField, null, \PDO::PARAM_STR)->withColumn($alias . '.target_field IS NOT NULL', $alias);
     return $this;
 }