Найдено 258 результатов

phpshko
2017.07.26, 17:50
Форум: Общие вопросы (Yii 2.x)
Тема: SQL запрос через ActiveRecord выдаёт только поля своей модели
Ответы: 15
Просмотры: 2988

Re: SQL запрос через ActiveRecord выдаёт только поля своей модели

если устроит результат массивом, то можно добавить ->asArray()->all(); . Но только учтите что если в разных таблицах будут колонки с одинаковыми именами, в выборку попадет только одна из них asArray() выдаёт то же самое [ 'id' => '3' 'name' => 'Колбаса \"Дружок\"' 'url' => 'best-korean-sausage.com'...
phpshko
2017.07.26, 17:22
Форум: Общие вопросы (Yii 2.x)
Тема: SQL запрос через ActiveRecord выдаёт только поля своей модели
Ответы: 15
Просмотры: 2988

Re: SQL запрос через ActiveRecord выдаёт только поля своей модели

если устроит результат массивом, то можно добавить ->asArray()->all(); .
Но только учтите что если в разных таблицах будут колонки с одинаковыми именами, в выборку попадет только одна из них
phpshko
2017.07.06, 14:13
Форум: Общие вопросы (Yii 2.x)
Тема: FORMAT_JSON и JOIN в выборке
Ответы: 4
Просмотры: 783

Re: FORMAT_JSON и JOIN в выборке

попробуйте еще так $allnews = News::find() ->select('`news`.*, `category`.`cat_name`, `user`.`username`') ->leftJoin('category', '`category`.`id` = `news`.`cat_id`') ->leftJoin('user', '`user`.`id` = `news`.`user_id`') ->with('user', 'category') ->asArray() ->all();
phpshko
2017.07.06, 13:59
Форум: Общие вопросы (Yii 2.x)
Тема: FORMAT_JSON и JOIN в выборке
Ответы: 4
Просмотры: 783

Re: FORMAT_JSON и JOIN в выборке

замените на

Код: Выделить всё

->select(['`news`.*', '`category`.`cat_name`', '`user`.`username`'])
upd
phpshko
2017.06.09, 15:58
Форум: Общие вопросы (Yii 2.x)
Тема: Yii2 sphinx, limit 20, ну максимум 1000, нужно больше.
Ответы: 4
Просмотры: 1664

Re: Yii2 sphinx, limit 20, ну максимум 1000, нужно больше.

чтобы увеличить выборку попробуйте

Код: Выделить всё

$query->addOptions(['max_matches' => 10000])
чтобы узнать кол-во

Код: Выделить всё

$results = $query->showMeta(true)->limit(0)->search();
$count = (int)ArrayHelper::getValue($results, 'meta.total_found', 0);
phpshko
2017.05.17, 12:29
Форум: Общие вопросы (Yii 2.x)
Тема: count в бд
Ответы: 4
Просмотры: 1207

Re: count в бд

попробуйте так

Код: Выделить всё

$cnt = Sertificate::find()->where(['partner_id' => \Yii::$app->user->identity->id])->groupBy('partner_id')->select(['*', 'SUM(price) AS price_sum'])->asArray()->all();
phpshko
2017.05.01, 16:50
Форум: Общие вопросы (Yii 2.x)
Тема: Фильтрация и сортировка по виртуальному полю модели - как?
Ответы: 11
Просмотры: 2204

Re: Фильтрация и сортировка по виртуальному полю модели - как?

или добавить колонку status и каждый день пересчитывать его кроном (можно одним запросом с ifами), тогда сортировка/фильтрация с индексом будет быстрее чем вариант выше, но для новых записей это тоже нужно учитывать и проставлять статус при записи/изменении
phpshko
2017.05.01, 16:45
Форум: Общие вопросы (Yii 2.x)
Тема: Фильтрация и сортировка по виртуальному полю модели - как?
Ответы: 11
Просмотры: 2204

Re: Фильтрация и сортировка по виртуальному полю модели - как?

Можно вычислять средствами sql чтобы не выгребать все данные. пример, возможны опечатки $today = date('Y-m-d'); $query->addSelect(['status' => new Expression('IF (date_end < '.$today.', '.self::STATUS_ENDED.', IF(date_begin <= '.$today.' AND date_end >= '.$today.', '.self::STATUS_ENDED.', IF(date_be...
phpshko
2017.05.01, 12:23
Форум: Архив
Тема: Call to undefined function yii\validators\json_encode()
Ответы: 9
Просмотры: 3093

Re: Call to undefined function yii\validators\json_encode()

А вы правили ini файл который показал phpinfo() в браузере в строке "Loaded Configuration File" ? Скорее всего вы поправили только для cli версии
phpshko
2017.04.25, 17:29
Форум: Общие вопросы (Yii 2.x)
Тема: filterModel, Mysql, createCommand, addSelect
Ответы: 7
Просмотры: 1445

Re: filterModel, Mysql, createCommand, addSelect

попробуйте так $this->query->addSelect(new Expression('distance IN (' . $distances . ')')); upd чтобы только минимальный, попробуйте так $distances = Yii::$app->db->createCommand(' SELECT MIN(' . $formula . ') AS `distance` FROM ' . Adds::tableName() . ' WHERE ' . Adds::tableName() . '.`restaurant_i...
phpshko
2017.04.12, 15:27
Форум: Общие вопросы (Yii 2.x)
Тема: IF внутри SELECT
Ответы: 2
Просмотры: 962

Re: IF внутри SELECT

попробуйте вот так (удалить обратные кавычки возле partner_id )

Код: Выделить всё

new \yii\db\Expression('IF(partner_id = '.$this->partner_id.', 1, 0) AS `current_partner`'),
phpshko
2017.04.07, 11:27
Форум: Общие вопросы (Yii 2.x)
Тема: Как исправить ошибку sphinx yii2?
Ответы: 5
Просмотры: 1361

Re: Как исправить ошибку sphinx yii2?

Попробуйте удалить

Код: Выделить всё

rt_field = product_id
и оставить только

Код: Выделить всё

rt_attr_string = product_id
и переиндексировать
phpshko
2017.04.06, 20:03
Форум: Общие вопросы (Yii 2.x)
Тема: Ошибка в консоли PHP Fatal Error 'yii\base\ErrorException' with message 'Class 'MongoDB\Driver\Query' not found'
Ответы: 4
Просмотры: 1581

Re: Ошибка в консоли PHP Fatal Error 'yii\base\ErrorException' with message 'Class 'MongoDB\Driver\Query' not found'

а в php.ini для cli есть раскоментированная строчка с драйвером (extension=php_mongodb)?
Командой php -m видно?

upd: путь к файлу можно посмотреть через php --ini
phpshko
2017.03.30, 19:25
Форум: Общие вопросы (Yii 2.x)
Тема: JqueryAsset подключить в header-е страницы
Ответы: 7
Просмотры: 1843

Re: JqueryAsset подключить в header-е страницы

class AppAsset extends AssetBundle { ... public $jsOptions = ['position' => \yii\web\View::POS_HEAD]; } Я не могу так сделать, потому что в таком случае я подключу все свои js-скрипты в header, а мне надо в header подключить только jquery. А еще я не могу сделать public $jsOptions = ['position' => ...
phpshko
2017.03.30, 18:58
Форум: Общие вопросы (Yii 2.x)
Тема: JqueryAsset подключить в header-е страницы
Ответы: 7
Просмотры: 1843

Re: JqueryAsset подключить в header-е страницы

Код: Выделить всё

class AppAsset extends AssetBundle
{
	...
	public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
}
phpshko
2017.02.17, 11:21
Форум: Общие вопросы (Yii 2.x)
Тема: когда sql_mode = ONLY_FULL_GROUP_BY
Ответы: 3
Просмотры: 2192

Re: когда sql_mode = ONLY_FULL_GROUP_BY

примерно так [ 'class' => yii\db\Connection::class, 'dsn' => 'mysql:host=localhost;dbname=db', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'on afterOpen' => function($event) { $event->sender->createCommand("SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_D...
phpshko
2017.02.13, 12:47
Форум: Общие вопросы (Yii 2.x)
Тема: ActiveRecord table1.field = table2.field
Ответы: 2
Просмотры: 637

Re: ActiveRecord table1.field = table2.field

Код: Выделить всё

['table2.field' => new Expression('table1.field')],