Customer.php 1.69 KB
Newer Older
1 2 3 4
<?php

namespace yiiunit\data\ar\redis;

5
use yiiunit\extensions\redis\ActiveRecordTest;
6

7 8
class Customer extends ActiveRecord
{
9 10 11 12 13
    const STATUS_ACTIVE = 1;
    const STATUS_INACTIVE = 2;

    public $status2;

Alexander Makarov committed
14 15 16
    /**
     * @inheritdoc
     */
17 18 19 20 21 22 23 24 25 26 27 28 29
    public function attributes()
    {
        return ['id', 'email', 'name', 'address', 'status', 'profile_id'];
    }

    /**
     * @return \yii\redis\ActiveQuery
     */
    public function getOrders()
    {
        return $this->hasMany(Order::className(), ['customer_id' => 'id']);
    }

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
    /**
     * @return \yii\redis\ActiveQuery
     */
    public function getExpensiveOrders()
    {
        return $this->hasMany(Order::className(), ['customer_id' => 'id'])->andWhere("tonumber(redis.call('HGET','order' .. ':a:' .. pk, 'total')) > 50");
    }

    /**
     * @return \yii\redis\ActiveQuery
     */
    public function getExpensiveOrdersWithNullFK()
    {
        return $this->hasMany(OrderWithNullFK::className(), ['customer_id' => 'id'])->andWhere("tonumber(redis.call('HGET','order' .. ':a:' .. pk, 'total')) > 50");
    }

46 47 48 49 50 51 52 53
    /**
     * @return \yii\redis\ActiveQuery
     */
    public function getOrdersWithNullFK()
    {
        return $this->hasMany(OrderWithNullFK::className(), ['customer_id' => 'id']);
    }

Alexander Makarov committed
54 55 56
    /**
     * @inheritdoc
     */
57
    public function afterSave($insert, $changedAttributes)
58 59 60
    {
        ActiveRecordTest::$afterSaveInsert = $insert;
        ActiveRecordTest::$afterSaveNewRecord = $this->isNewRecord;
61
        parent::afterSave($insert, $changedAttributes);
62 63
    }

Alexander Makarov committed
64 65 66 67 68
    /**
     * @inheritdoc
     * @return CustomerQuery
     */
    public static function find()
69
    {
70
        return new CustomerQuery(get_called_class());
71
    }
Qiang Xue committed
72
}