Найдено 178 результатов
Перейти к расширенному поиску
- BalykhinAS
- 2018.02.06, 16:54
- Форум: Общие вопросы (Yii 2.x)
- Тема: ->asArray() а где ->asObject()?
- Ответы: 18
- Просмотры: 4841
А что, createCommand() вызвать - это гиперсложно? не то что бы сложно... $models = $query->offset($pages->offset) ->select('id, store_id, name, price') ->with(['store' => function (\yii\db\ActiveQuery $query) { $query->select('id, name'); }]) ->with(['images' => function (\yii\db\ActiveQuery $query...
- BalykhinAS
- 2018.02.06, 16:39
- Форум: Общие вопросы (Yii 2.x)
- Тема: Упрощенная выборка модели
- Ответы: 1
- Просмотры: 774
Есть ли какая то опция для упрощенной выборки - только поля. asArray не подходит, а в стандарте слишком много хлама который на фронте не нужен но в моделях есть методы которые используются во view. Сделал замер скорости с классическими моделями и такой же выборкой только через Query на 50к товарах р...
- BalykhinAS
- 2018.02.05, 23:11
- Форум: Общие вопросы (Yii 2.x)
- Тема: ->asArray() а где ->asObject()?
- Ответы: 18
- Просмотры: 4841
вариант для моделей $products = Product::find() ->select('id, name, price') ->limit(10) ->createCommand() ->queryAll(5); на выходе stdClass вместо массива правда некоторые плюшки не доступны при таком подходе Использовать модель для того, чтобы использовать ее как кверибилдер? это меня понесло)) не...
- BalykhinAS
- 2018.02.05, 21:54
- Форум: Общие вопросы (Yii 2.x)
- Тема: ->asArray() а где ->asObject()?
- Ответы: 18
- Просмотры: 4841
Можно вообще не использовать Yii, если не нравятся ее подходы или если от фреймворка нужны только хелперы. Есть Doctrine есть другие инструменты для работы с бд. можно, вопрос ведь не в том использовать или нет, суть в том что кто то работает с массивами а кому то удобное работать с объектами (stdC...
- BalykhinAS
- 2018.02.05, 21:48
- Форум: Общие вопросы (Yii 2.x)
- Тема: ->asArray() а где ->asObject()?
- Ответы: 18
- Просмотры: 4841
просто получается что PDOStatement::setFetchMode предусмотрен, но что бы (даже если и в частных случаях как мой) воспользоваться им надо искать варианты вместо того что бы просто воспользоваться в том же Query
- BalykhinAS
- 2018.02.05, 21:45
- Форум: Общие вопросы (Yii 2.x)
- Тема: ->asArray() а где ->asObject()?
- Ответы: 18
- Просмотры: 4841
не знаю, возможно наколхозил но мне как то удобное работать с объектами вместо массивов еще один вариант))) class Query extends \yii\db\Query { public function allClass($db = null) { if ($this->emulateExecution) { return []; } $rows = $this->createCommand($db)->queryAll(5); return $this->populate($r...
- BalykhinAS
- 2018.02.05, 21:40
- Форум: Общие вопросы (Yii 2.x)
- Тема: ->asArray() а где ->asObject()?
- Ответы: 18
- Просмотры: 4841
$products = (new Query()) ->select('id, name, price') ->from('c_products') ->orderBy('RAND()') ->limit(5)->createCommand()->queryAll(5); такой вариант тоже отдает stdClass $products = Product::find()->all(); Отдаст массив с объектами Product да, но для этого необходимо создать модель Product
- BalykhinAS
- 2018.02.05, 20:37
- Форум: Общие вопросы (Yii 2.x)
- Тема: ->asArray() а где ->asObject()?
- Ответы: 18
- Просмотры: 4841
как то так получил желаемый результат $products = Yii::$app->db->createCommand('SELECT id, name, price FROM c_products LIMIT 1') ->queryAll(5); было бы не плохо иметь возможность установить $fetchMode и в Query public function all($db = null) { if ($this->emulateExecution) { return []; } $rows = $th...
- BalykhinAS
- 2018.02.05, 19:43
- Форум: Общие вопросы (Yii 2.x)
- Тема: Выборка одного поля
- Ответы: 2
- Просмотры: 849
добрый день, подскажите $products = (new Query()) ->select('id') ->from('c_products') ->orderBy('RAND()') ->limit(10) ->all(); получаем массив Array ( [0] => Array ( [id] => 49127 ) [1] => Array ( [id] => 68019 ) ) необходимо получить массив без ключей Array ( [0] => 49127, [1] => 68019 ) есть возмо...
- BalykhinAS
- 2018.02.05, 14:22
- Форум: Общие вопросы по программированию
- Тема: Order By RAND() в большой базе
- Ответы: 1
- Просмотры: 1701
Добрый день! Необходимо вывести случайные записи. Возник вопрос по быстродействию Order By RAND(). Первое что пришло в голову кроном выбрать переодически определенное количество ид (к примеру 5000) и записать в отдельную таблицу, позже с не выбирать случайным образом. Но верное ли решение, возможно ...
- BalykhinAS
- 2018.02.05, 13:53
- Форум: Документация и рецепты (Yii 2.x)
- Тема: Выборка одного поля
- Ответы: 1
- Просмотры: 8054
Подскажите возможно ли с запроса получить массив только со значениями поля без ключа? $topProducts = (new Query()) ->select('product_id') ->from('top_products') ->orderBy('RAND()') ->limit(20) ->all(); получается массив Array ( [0] => Array ( [product_id] => 44939 ) [1] => Array ( [product_id] => 46...