
Vladislav
22.12.2017
13:30:19
Народ. <?= $form->field($model, 'plan_id')->dropDownList(ArrayHelper::map(Plan::find()->all(), 'id', 'title')) ?> а как вывести в dropDownList не title а например title + id?

☕ CunningFox
22.12.2017
13:30:22
и ее отдаешь, не лениво
а когда индекс то провайдер с ленивой загрузкой
чего не так то?

Google

?
22.12.2017
13:32:22

Vladislav
22.12.2017
13:33:37
вместо title функцию вставить?

?
22.12.2017
13:35:16
ArrayHelper::map(
\app\models\Medicine::find()->asArray()->all(),
'id',
function($model) {
return $model['medicine_name'].'-'.$model['medicine_id'];
}
)

Timur
22.12.2017
13:35:25
Товарищи, подскажите пожалуйста, как лучше устроить такую штуку: вывожу в GridView данные по телефонным звонкам, полученные в виде JSON от астериска (использую ArrayDataProvider). Вывод имеет вид "телефон, оператор, статус, время звонка и т.д...". Задача: нужно как-то выделить в GridView звонки разных операторов на один номер с разным статусом. Первое, что приходит в голову, при выводе каждой записи перебирать массив всех звонков. Но это же сильно не производительно: звонков может быть дофига, и, соответсвенно, придется дофига раз бегать по массиву...

Vladislav
22.12.2017
13:35:38
ок спасибо

?
22.12.2017
13:36:46
Товарищи, подскажите пожалуйста, как лучше устроить такую штуку: вывожу в GridView данные по телефонным звонкам, полученные в виде JSON от астериска (использую ArrayDataProvider). Вывод имеет вид "телефон, оператор, статус, время звонка и т.д...". Задача: нужно как-то выделить в GridView звонки разных операторов на один номер с разным статусом. Первое, что приходит в голову, при выводе каждой записи перебирать массив всех звонков. Но это же сильно не производительно: звонков может быть дофига, и, соответсвенно, придется дофига раз бегать по массиву...
при выводе в гриде выделяй

Ad.x ??
22.12.2017
13:36:51

Сергей
22.12.2017
13:41:30
Как лучше решить такую задачу?
Есть страница с формой создания сущности. У сущности есть визуальный редактор, в который грузятся картинки. Картинки грузятся в папку с ID сущности.
То есть при создании сущности уже сразу надо знать ID.
Дополнительное условие: пользователь может одновременно в двух вкладках создавать две разные сущности.

Maxim
22.12.2017
13:42:20
так по идее быстрей, без лишних переборов массива, а готовый результат из БД

Ad.x ??
22.12.2017
13:43:11
$model->getPlanOptions(); нада оформить в моделе

Vladislav
22.12.2017
13:44:39
тут уже битва кто круче да? =D

Google

Maxim
22.12.2017
13:44:40
ну это понятно, что надо не в модели, а хотя бы в MyModelQuery такие списки запрашивать
Тут главное сама суть

Ad.x ??
22.12.2017
13:44:50

Сергей
22.12.2017
13:46:40
создать сущность твою и потом редактировать?!
Создал, сохранил со статусом "Новая" и разрешаю редактировать новые.
Все остальные сущности по различным правилам доступны определенным пользователям.
Остаётся дырка: любой пользователь может смотреть, что там сейчас редактируется из новоого :)

Maxim
22.12.2017
13:46:57

Ad.x ??
22.12.2017
13:48:53

Maxim
22.12.2017
13:49:05

Ad.x ??
22.12.2017
13:49:07
или тебе нада именно видеть что там редактируется что-то?
вариант2: обычный fileinput для картинок. и обертка над ним клиентская

Сергей
22.12.2017
13:50:06
У меня нет проблемы с загрузкой файлов... вопрос собственно в том как лучше создавать заранее объект с ID

Maxim
22.12.2017
13:51:34
тебе не нужно это делать, тебе нужно создавать объект когда все данные валидны. Иначе будет куча пустышек, которые будут бесить
https://github.com/yii-dream-team/yii2-upload-behavior

Сергей
22.12.2017
13:53:35
Например через tinymce

Maxim
22.12.2017
13:55:16
плохая затея. Я бы у тебя все свои фото хранил, которые на гугл-диск не влезают
А куда он их загружает? Ты же говорил нужен id другого объекта

Сергей
22.12.2017
13:56:57
Норм затея, в сборщик мусора добавлю просто задачу на удаление старых черновиков

Maxim
22.12.2017
13:57:47

?
22.12.2017
13:57:59
а че именно айди записи

Google

?
22.12.2017
13:58:05
привяжись к юзеру и дате

Сергей
22.12.2017
13:58:08

?
22.12.2017
13:58:12
намного проще ж

Сергей
22.12.2017
13:58:21
А удалять как я потом эти файлы буду при удалении сущности?

?
22.12.2017
13:58:48
ну если в таком ключе да

Maxim
22.12.2017
13:59:14
Сразу создаю объект
а в чем тогда твой вопрос? При создании второй вкладки делай новый объект как в первый раз и возвращай новый id

Ad.x ??
22.12.2017
13:59:18

Сергей
22.12.2017
14:00:10
Не нравилось, что можно прописать другой ID и если кто-то создаёт сущность с таким ID - можно перехватить

Ad.x ??
22.12.2017
14:00:14
помнится в дле такой финт ушами был

Maxim
22.12.2017
14:00:46
Тогда никто ничего никуда не припишет

Сергей
22.12.2017
14:01:25
У меня сложнее доступ, чем просто сущность к пользователю.

Сергей
22.12.2017
14:01:54
Решил в итоге забить на эту дырку... Думаю никто никогда ей не воспользуется, да и сомнительнаяя она.... пользы то никакой

Ad.x ??
22.12.2017
14:03:25
дак делай на фронте да и все. нахер эти кастыли сраные. любой клиентский редактор фоток умеет работать с файлинпутом
или жской закидывай нужную фотку в него из этого файлинпута

Сергей
22.12.2017
14:04:05

Ad.x ??
22.12.2017
14:04:10
самый безгеморойный вариант потом если чота менять\добавлять на бекенде

Сергей
22.12.2017
14:05:50
Наоборот, с вариантом когда ID заранее известен - никаких проблем нет в дальнейших доработка

Maxim
22.12.2017
14:06:07

Google

Ad.x ??
22.12.2017
14:07:11

Сергей
22.12.2017
14:07:37
В общем как-то так вышло: http://joxi.net/LVm6ZlUxNDlYmZ.jpg
В контроллере создам эту модель, а в форме добавлю Hidden Input с id = $model->interaction->id;

Abdula
22.12.2017
15:21:47
Yii::$app->db->cache() - какой параметр передавать, чтобы он хранил кэш только пока текущий запрос не завершится?

Maxim
22.12.2017
15:34:51
Кажется никакой.
Там есть срок хранения в параметрах, но как ты его предвидишь до завершения запроса? А так можешь вначале делать set, а в каком-нибудь afterAction удалять
https://yiiframework.com.ua/ru/doc/guide/2/caching-data/#cache-expiration

Abdula
22.12.2017
16:32:23
И еще.
Почему он жестко кэширует. Если в БД данные изменились он не должен был поменять результат?

Сергей
22.12.2017
16:39:37

Admin
ERROR: S client not available

Abdula
22.12.2017
16:40:50
ок

Vladislav
22.12.2017
16:49:21
Я сделал CRUD для User и почему-то он не хочет изменять данные в update
Это нормально вообще?

Сергей
22.12.2017
16:49:44

Maxim
22.12.2017
17:28:50
только вопрос, что быстрее, получить зависимость для кеша и кеш или твой запрос

Abdula
22.12.2017
17:29:21
Ок. Спс.

Narzik
22.12.2017
17:35:38
помогите elasticsearchom
/help@Shizoid_bot
/help@Shizoid_bot
/help@Shizoid_bot

Google

Дмитрий
22.12.2017
18:11:47

Vladimir
22.12.2017
18:45:22
время тупых вопросов по yii2...Почему когда я включил
enablePrettyUrl
у меня урлы переформировались в ЧПУ, но любые стр. начали отдавать 404, кроме естественно корневого index приложения?
живой пример
http://war-game.tech/site/about
голый бейсик
а еще это чудо на нДжинксе с пхп 7 не заводится никак.. из доков конфиги даже пробовал ставить, с которыми пишут гарантированно будет работать
увы отдает 403

SiZE
22.12.2017
18:55:44

Vladimir
22.12.2017
18:55:58
угу
да с роутингом разберусь думаю, больше не нравится то что на апаче это все работает
а на джинксе нет.. может нюанс какой есть известный?

?
22.12.2017
18:57:02
ну так ты заверни все на индекс
location / {
try_files $uri $uri/ /index.php?$args;

Vladimir
22.12.2017
18:58:52

?
22.12.2017
18:59:43
проверь чтоб root у тебя смотрел на тут web
а не на корень
там смотря какой у тебя шаблон basic или advanced

Vladimir
22.12.2017
19:00:44
бейсик
рут смотрит в веб

?
22.12.2017
19:01:00
тогда должно работать

Vladimir
22.12.2017
19:01:03
по этому образу и подобию пробовал так же 403 отдает(
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log;
error_log /path/to/basic/log/error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
#если хотите красивую страницу 404
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}