StalkerClasses
Новичок
Можно ли в Yii2 составлять запросы таким образом, когда вместо таблицы указывается полное название namespace?:
PHP:
$marketings = $this->modelsManager->createBuilder()
->columns('Som\Models\Employee.id, Som\Models\Person.name')
->from('Som\Models\Employee')
->join('Som\Models\Person')
->where('Som\Models\Employee.store_id = :store_id: AND Som\Models\Employee.rank = :rank: AND Som\Models\Employee.disable = 0', array('store_id' => $this->auth->getStoreId(), 'rank' => $this->flag->value->rank_marketing))
->orderBy('Som\Models\Person.name')
->getQuery()
->execute();
-------------------------------------------------
// wrong: throws exception :
// Fatal error: Uncaught exception 'Phalcon\Mvc\Model\Exception' with message 'Model 'PrintTask' could not be loaded' in ...
$this->modelsManager->registerNamespaceAlias('PrintTask','\Apps\Prints\Model\PrintTask');
$phql = "SELECT PrintTask.id AS id FROM PrintTask";
$rows = $this->modelsManager->executeQuery($phql);
// right: but not elegant
$phql = "SELECT \Apps\Prints\Model\PrintTask.id AS id FROM \Apps\Prints\Model\PrintTask";
$rows = $this->modelsManager->executeQuery($phql);
----------------------------
$data = self::query()
->columns('Raise\Basic\Models\Product.*,c.cat_name')
->leftJoin('Raise\Basic\Models\Category','c.cat_id=Raise\Basic\Models\Product.cat_id','c')
->orderBy('Raise\Basic\Models1\Product.sort ASC')
->execute();
Последнее редактирование: