@@ 36-82 (lines=47) @@ | ||
33 | * @link https://github.com/techdivision/import-attribute |
|
34 | * @link http://www.techdivision.com |
|
35 | */ |
|
36 | class AttributeLabelRepository extends AbstractRepository implements AttributeLabelRepositoryInterface |
|
37 | { |
|
38 | ||
39 | /** |
|
40 | * The prepared statement to load an existing EAV attribute label by its entity type ID, attribute code and store ID. |
|
41 | * |
|
42 | * @var \PDOStatement |
|
43 | */ |
|
44 | protected $attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt; |
|
45 | ||
46 | /** |
|
47 | * Initializes the repository's prepared statements. |
|
48 | * |
|
49 | * @return void |
|
50 | */ |
|
51 | public function init() |
|
52 | { |
|
53 | ||
54 | // initialize the prepared statements |
|
55 | $this->attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt = |
|
56 | $this->getConnection()->prepare($this->loadStatement(SqlStatementKeys::ATTRIBUTE_LABEL_BY_ENTITY_TYPE_ID_AND_ATTRIBUTE_CODE_AND_STORE_ID)); |
|
57 | } |
|
58 | ||
59 | /** |
|
60 | * Return's the EAV attribute label with the passed attribute code and store ID. |
|
61 | * |
|
62 | * @param integer $entityTypeId The ID of the EAV entity attribute to return the label for |
|
63 | * @param string $attributeCode The attribute code of the EAV attribute label to return |
|
64 | * @param integer $storeId The store ID of the EAV attribute label to return |
|
65 | * |
|
66 | * @return array The EAV attribute label |
|
67 | */ |
|
68 | public function findOneByEntityTypeIdAndAttributeCodeAndStoreId($entityTypeId, $attributeCode, $storeId) |
|
69 | { |
|
70 | ||
71 | // initialize the params |
|
72 | $params = array( |
|
73 | MemberNames::ENTITY_TYPE_ID => $entityTypeId, |
|
74 | MemberNames::ATTRIBUTE_CODE => $attributeCode, |
|
75 | MemberNames::STORE_ID => $storeId |
|
76 | ); |
|
77 | ||
78 | // load and return the EAV attribute label with the passed params |
|
79 | $this->attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt->execute($params); |
|
80 | return $this->attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt->fetch(\PDO::FETCH_ASSOC); |
|
81 | } |
|
82 | } |
|
83 |
@@ 36-80 (lines=45) @@ | ||
33 | * @link https://github.com/techdivision/import-attribute |
|
34 | * @link http://www.techdivision.com |
|
35 | */ |
|
36 | class AttributeRepository extends AbstractRepository implements AttributeRepositoryInterface |
|
37 | { |
|
38 | ||
39 | /** |
|
40 | * The prepared statement to load an existing EAV attribute by its entity type ID and attribute code. |
|
41 | * |
|
42 | * @var \PDOStatement |
|
43 | */ |
|
44 | protected $attributeByEntityTypeIdAndAttributeCodeStmt; |
|
45 | ||
46 | /** |
|
47 | * Initializes the repository's prepared statements. |
|
48 | * |
|
49 | * @return void |
|
50 | */ |
|
51 | public function init() |
|
52 | { |
|
53 | ||
54 | // initialize the prepared statements |
|
55 | $this->attributeByEntityTypeAndAttributeCodeStmt = |
|
56 | $this->getConnection()->prepare($this->loadStatement(SqlStatementKeys::ATTRIBUTE_BY_ENTITY_TYPE_ID_AND_ATTRIBUTE_CODE)); |
|
57 | } |
|
58 | ||
59 | /** |
|
60 | * Return's the EAV attribute with the passed entity type ID and code. |
|
61 | * |
|
62 | * @param integer $entityTypeId The entity type ID of the EAV attribute to return |
|
63 | * @param string $attributeCode The code of the EAV attribute to return |
|
64 | * |
|
65 | * @return array The EAV attribute |
|
66 | */ |
|
67 | public function findOneByEntityIdAndAttributeCode($entityTypeId, $attributeCode) |
|
68 | { |
|
69 | ||
70 | // initialize the params |
|
71 | $params = array( |
|
72 | MemberNames::ENTITY_TYPE_ID => $entityTypeId, |
|
73 | MemberNames::ATTRIBUTE_CODE => $attributeCode |
|
74 | ); |
|
75 | ||
76 | // load and return the EAV attribute with the passed params |
|
77 | $this->attributeByEntityTypeAndAttributeCodeStmt->execute($params); |
|
78 | return $this->attributeByEntityTypeAndAttributeCodeStmt->fetch(\PDO::FETCH_ASSOC); |
|
79 | } |
|
80 | } |
|
81 |