Product::relations PHP Method

relations() public method

public relations ( ) : array
return array relational rules.
    public function relations()
    {
        return ['type' => [self::BELONGS_TO, 'Type', 'type_id'], 'producer' => [self::BELONGS_TO, 'Producer', 'producer_id'], 'categoryRelation' => [self::HAS_MANY, 'ProductCategory', 'product_id'], 'categories' => [self::HAS_MANY, 'StoreCategory', ['category_id' => 'id'], 'through' => 'categoryRelation'], 'category' => [self::BELONGS_TO, 'StoreCategory', ['category_id' => 'id']], 'images' => [self::HAS_MANY, 'ProductImage', 'product_id'], 'variants' => [self::HAS_MANY, 'ProductVariant', ['product_id'], 'with' => ['attribute'], 'order' => 'variants.position ASC'], 'comments' => [self::HAS_MANY, 'Comment', 'model_id', 'on' => 'model = :model AND comments.status = :status', 'params' => [':model' => __CLASS__, ':status' => Comment::STATUS_APPROVED], 'order' => 'comments.lft'], 'linkedProductsRelation' => [self::HAS_MANY, 'ProductLink', 'product_id', 'joinType' => 'INNER JOIN'], 'linkedProducts' => [self::HAS_MANY, 'Product', ['linked_product_id' => 'id'], 'through' => 'linkedProductsRelation', 'joinType' => 'INNER JOIN'], 'attributesValues' => [self::HAS_MANY, 'AttributeValue', 'product_id', 'with' => ['attribute' => ['alias' => 'attr']]]];
    }

Usage Example

Exemplo n.º 1
0
 public function relations()
 {
     return array_merge(parent::relations(), array('images' => array(self::HAS_MANY, 'AttachmentForm', 'object_id', 'condition' => 'images.object_type = :object_type', 'params' => array('object_type' => Attachment::OBJECT_TYPE_PRODUCT_IMAGE), 'together' => false), 'certificate' => array(self::HAS_ONE, 'CertificateForm', 'product_id')));
 }