Подскажите, пожалуйста, может конечно, я что-то делаю не так.
Делаю простое наследование модели по типу (по категории товара).
Код: Выделить всё
namespace app\models;
use app\models\query\GoodPhoneQuery;
class GoodPhone extends GoodItems
{
/**
* @inheritdoc
* @return \app\models\query\GoodPhoneQuery the active query used by this AR class.
*/
public static function find()
{
return new GoodPhoneQuery(get_called_class());
}
}
Код: Выделить всё
namespace app\models\query;
use yii\db\ActiveQuery;
class GoodPhoneQuery extends ActiveQuery
{
public function prepare($builder)
{
$this->distinct();
$this->joinWith('goods.category');
$this->andWhere('ix_category_goods = 74'); // категория товара хранится в таблице category
return parent::prepare($builder);
}
}
Код: Выделить всё
public function actionSelectPhone()
{
$query = GoodPhone::find();
VarDumper::dump($query->count(), 3, true);
}
Вывел sql через `getRawSql()` понял, что метод prepare() отработал два раза.
В чем может быть причина? и правильно ли я делаю?
Заранее благодарю!