@yii2ru

Страница 1254 из 1721
Mengi
17.05.2018
08:53:10
туплю)) нашел ошибку) в строке с Order имя столбца с пробелом написал?

Aleksey
17.05.2018
09:11:45
Привет всем.

Mr.
17.05.2018
09:12:35
привет

Aleksey
17.05.2018
09:15:18
кто тут из старичков есть?? самдарк, гитхабджека, МаксКиселев?

Google
Антон
17.05.2018
09:16:44
кто тут из старичков есть?? самдарк, гитхабджека, МаксКиселев?
Хочешь бросить вызов и оспорить лидерство?

Aleksey
17.05.2018
09:17:34
Хочешь бросить вызов и оспорить лидерство?
хз про что ты. я кто есть - тот и есть.

Dmitry
17.05.2018
09:17:39
Я на старичка ещё не похожу?

Aleksey
17.05.2018
09:18:11
Я на старичка ещё не похожу?
фэйсом бро не вышел для старичка))

Dmitry
17.05.2018
09:18:21
Саша тут точно есть

Антон
17.05.2018
09:18:30
Aleksey
17.05.2018
09:19:21
Да я шучу. Зачем старички?
на gitter зашел недавно - там все мертво. вот и задаюсь вопросом, а куда же все мигрировали))

Андрей
17.05.2018
09:20:02
как отсюда получить данные unserialize('C:21:"MongoDB\\BSON\\ObjectId":48:{a:1:{s:3:"oid";s:24:"5afc28b059809e15fb3b2116";}}')

Aleksey
17.05.2018
09:20:04
раньше там уже с утра движуха была... классное было время))

Антон
17.05.2018
09:20:19
Старички здесь есть, но редко вступают в беседы

Андрей
17.05.2018
09:23:54
по подробнее
ну есть переменная в таком виде, мне нужно получить отуда id (5afc28b059809e15fb3b2116 в данном случае)

Тимур
17.05.2018
09:25:30


Google
Виктор
17.05.2018
09:25:57
ну есть переменная в таком виде, мне нужно получить отуда id (5afc28b059809e15fb3b2116 в данном случае)
через var_dump посмотреть, не? Объект с публичным свойством $obj->oid

Антон
17.05.2018
09:28:39
ну есть переменная в таком виде, мне нужно получить отуда id (5afc28b059809e15fb3b2116 в данном случае)
Странный вопрос. Сделай var_dump(unserialize('C:21:"MongoDB\\BSON\\ObjectId":48:{a:1:{s:3:"oid";s:24:"5afc28b059809e15fb3b2116";}}')) увидишь структуру объекта. Наверное так $a = unserialize('C:21:"MongoDB\\BSON\\ObjectId":48:{a:1:{s:3:"oid";s:24:"5afc28b059809e15fb3b2116";}}'); echo $a->oid;

Vano
17.05.2018
09:28:41
как отсюда получить данные unserialize('C:21:"MongoDB\\BSON\\ObjectId":48:{a:1:{s:3:"oid";s:24:"5afc28b059809e15fb3b2116";}}')
у меня нет такого класса, потому и unserialize не поможет регулярку тебе дам на всякий случай /^[a-f\d]{24}$/i

R
17.05.2018
09:36:48
$a[‘oid’]

Андрей
17.05.2018
09:38:03
$a[‘oid’]
тоже не ок

Screamie
17.05.2018
09:40:39
Всем привет. Есть вариант цеплять два одинаковых behaviora на разные поля модели? В доке написано, что первый в приоритете. Мне нужно сохранить два изображение по одной и той же схеме, но с разными именами.

R
17.05.2018
09:42:04
хоть ссылку на behavior скинь

Screamie
17.05.2018
09:42:46
Самописный, что-то вроде этого https://github.com/mohorev/yii2-upload-behavior/blob/master/src/UploadBehavior.php

R
17.05.2018
09:44:38
так пробовал? function behaviors() { return [ [ 'class' => UploadBehavior::class, 'attribute' => 'file', 'scenarios' => ['insert', 'update'], 'path' => '@webroot/upload/docs/{category.id}', 'url' => '@web/upload/docs/{category.id}', ], [ 'class' => UploadBehavior::class, 'attribute' => 'file2’, 'scenarios' => ['insert', 'update'], 'path' => '@webroot/upload/docs/{category.id}', 'url' => '@web/upload/docs/{category.id}', ], ]; }

Screamie
17.05.2018
09:45:09
))) Конечно У моего behavior есть поле $name в котором указывается, как генерить будущее имя файла на основе полей модели. Например: {id}-{slug}

R
17.05.2018
09:45:47
так речь про второй атрибут, а не про имя файла

Screamie
17.05.2018
09:47:17
Для первого изображения я ставлю {id}-{slug}, для второго {id}-{slug}-crop. Но из-за того, что первый behavior перезаписывает второй имя всегда генерится через {id}-{slug}

R
17.05.2018
09:47:55
у тебя в модели как поле называется?

Screamie
17.05.2018
09:48:26
Одно cover, второе cover_sq.

R
17.05.2018
09:49:46
я так понимаю, у тебя в итоге в обоих полях одно и то же?

Screamie
17.05.2018
09:51:18
Эти поля не хранятся в базе. В behavior есть метод getUploadUrl() он берет значение поля $name резолвит его по указанной схеме и таким образом достает нужный файл. Но в этот метод всегда попадает занчение из первого behavior

Виктор
17.05.2018
09:51:39
у меня нет такого класса, потому и unserialize не поможет регулярку тебе дам на всякий случай /^[a-f\d]{24}$/i
Это как бы ненормально, что класса нет. Тут вопрос то ли к кодовой базе, то ли к сервису, который формирует данные.

Google
Screamie
17.05.2018
09:55:16
return [ [ 'class' => FileUploadBehavior::class, 'attribute' => 'cover', 'path' => '@frontend/web/upload/{category.alias}/{type.alias}', 'url' => '/upload/{category.alias}/{type.alias}', 'name' => '{id}-{alias}', 'placeholder' => 'http://placehold.it/677x500' ], [ 'class' => FileUploadBehavior::class, 'attribute' => 'cover_sq', 'path' => '@frontend/web/upload/{category.alias}/{type.alias}', 'url' => '/upload/{category.alias}/{type.alias}', 'name' => '{id}-{alias}-sq', 'placeholder' => 'http://placehold.it/330x272' ], ]; Это behaviors модели

R
17.05.2018
09:55:28
попробуй return [‘behavior1’ => […], ‘behavior2’ => [...]]

Screamie
17.05.2018
09:55:41
Пробовал. Таже борода

R
17.05.2018
09:56:27
тогда смотри код поведения

Screamie
17.05.2018
09:57:13
Судя по всему придется отказаться от поведения вообще. Копаю второй час, но что-то не могу найти инфы =(

R
17.05.2018
09:58:06
у тебя name случайно не статическое свойство?

Screamie
17.05.2018
09:58:34
Неа

R
17.05.2018
09:59:11
тогда у тебя там синглтон походу

Screamie
17.05.2018
10:00:30
Нет. В том том то и дело. Модели разные. Дамп показывает, что за проход создается аж четыре экземпляра. Но значение $name всегда от первого =(

R
17.05.2018
10:00:44
можешь скинуть код поведения?

по идее, можно вообще не задавать name, ты можешь на основе attribute в самом поведении генерить нужное имя файла

Screamie
17.05.2018
10:02:59
Сейчас найду куда и скинуть и вышдю ссылку

На основе attribute - не универсально получится.

R
17.05.2018
10:03:55
попробуй простую проверку внутри поведения сделать, что-то вроде «если атрибут ковер, то нейм такой, иначе такой»

не универсально, но можно сделать проверку, если нейм не задан, тогда применять эту логику

просто интересно, будет оно работать, если в самом поведении определять нейм

Screamie
17.05.2018
10:17:50
Вот ссыль на поведение. Там два класса. Для удобства здесь засунул в один файл https://implode.io/yHefLS

Обошел проблему вызовом конкректного поведения. Но это как-то коряво. Вот так не работало: $model->getUploadUrl('cover') // отдает {id}-{ailas} $model->getUploadUrl('cover_sq') // отдает тоже {id}-{ailas} Заработало если поведению выдать имя: $model->getUploadUrl('cover') // отдает {id}-{ailas} $model->getBehavior('uploadCoverSQ')->getUploadUrl('cover_sq') // отдает {id}-{alias}-sq Но может есть решение лучше. Вопрос еще открыт

R
17.05.2018
10:44:06
Можно переместить в модель эти методы

Screamie
17.05.2018
10:44:44
Нет. Они срабатывают и при сохранении. Так что нет смысла делать поведение. Если в модель их тащить

Google
R
17.05.2018
10:46:15
сейчас код гляну

в общем, понятно, в чем проблема

суть поведения в том, что оно расширяет твой класс своими методами и свойствами, поэтому у тебя name и там и там одно и то же

можно в name класть массив

создай приватное свойство _name и туда складывай

затем в getUploadUrl дергай из этого массива по ключу

Screamie
17.05.2018
10:52:21
Звучит логино. Сейчас попробую. Спасибо!

Vladislav
17.05.2018
10:54:22
Народ, а можно как-то из сохранённой в базу модели User вывести пароль? Или только путём сохранения в public свойстве этой модели сохранять?

R
17.05.2018
10:54:59
пароль невозможно восстановить

если используется стандартная генерация, конечно

Vladislav
17.05.2018
10:55:47
мне просто надо вывести пароль созданного пользователя

?
17.05.2018
10:55:52
я ж уже писал что ты можешь на beforeSave повеситься и сделать че тебе надо

ну и в посте он у тебя будет

R
17.05.2018
10:56:03
пароль не хранится в открытом виде

обычно

?
17.05.2018
10:56:32
да

но до момента попадания в базу его можно отловить и вывести куда надо

R
17.05.2018
10:57:11
лучше опиши суть задачи

Yet Another Stats
17.05.2018
10:57:14
+ вот это я и хочу
Карма @pointdnd стала 17

Google
Vladislav
17.05.2018
10:57:44
чё за карма

?
17.05.2018
10:58:12
на + отреогировал

Vladislav
17.05.2018
10:58:15
лучше опиши суть задачи
я создаю список пользователей и мне надо потом их выслать на почту логин и пароль

?
17.05.2018
10:58:17
типа благодарность

Vladislav
17.05.2018
10:58:35
R
17.05.2018
10:58:48
нужно высылать сразу при регистрации?

?
17.05.2018
10:59:36
я так понимаю что то типа вам сгенерирован новый пароль получите распешитесь

Yet Another Stats
17.05.2018
10:59:45
Карма @pointdnd стала 18

Vladislav
17.05.2018
10:59:48
да сразу после их создания... массив сохранённых моделей User уже есть

R
17.05.2018
10:59:57
плохая практика, лучше отправляй ссылку на восстановление

пользователь пройдет по ссылке и задаст пароль, какой ему надо

при этом пароль не будет передаваться в явном виде

?
17.05.2018
11:00:58
это если https

R
17.05.2018
11:01:19
посмотри, как в дефолтном проекте реализовано восстановление пароля

Vladislav
17.05.2018
11:01:35
там типа организация создаёт аккаунты и потом их раздаёт, а раздавать каждому ссылку такое себе

тем более с условием что их почты нет и не известны

R
17.05.2018
11:02:00
ну да, лучше логином и паролем всем светить))

Vladislav
17.05.2018
11:02:21
не всем а админу организации который создавал

а потом кому надо раздать

Страница 1254 из 1721