@yii2ru

Страница 1265 из 1721
Crestoff
19.05.2018
16:54:50
если делаю один name

R
19.05.2018
16:55:25
Покажи уже всю строку где ты делаешь select

Максим
19.05.2018
16:56:35
делаю селект АР : 'ad_banner_format.name AS banner_format',
'banner_format' => 'ad_banner_format.name' а так?

Crestoff
19.05.2018
16:56:56
так тоже самое

Google
Crestoff
19.05.2018
16:57:18
return $this ->select([ 'ad_campaign.id', 'ad_type_id', 'ad_banner_format.name AS banner_format', 'traffic_test_percent', 'traffic_test_period', 'default_return_url', 'cdn_id', 'js_file_name', ]) ->joinWith(['domains', 'cdn', 'adBannerFormat']) ->FilterWhere([ 'domain_id' => $domain_id, 'ad_type_id' => $ad_type, 'id' => $ad_campaign_id, ]) ->active() ->all();

Maxim
19.05.2018
16:58:17
так у тебя и ->active() должен конфликтовать если "статус" есть в нескольких таблицах

Crestoff
19.05.2018
16:59:46
не конфликтует

опустим его допустим

R
19.05.2018
17:00:46
@crestoff попробуй все таки сделать как тебе выше написали 'banner_format' => 'ad_banner_format.name'

Crestoff
19.05.2018
17:01:02
я отписал что уже делал так...

равносильно

что в запросе что в результате

R
19.05.2018
17:01:49
@crestoff а если просто ad_banner_format.name то оно появляется в $name?

Crestoff
19.05.2018
17:02:24
ща

Maxim
19.05.2018
17:02:26
сделай ->joinWith(['adBannerFormat t2' => function($q){ $q->select(['needed_id', 'name AS banner_format']) }]) и получи вместе со связью А вначале селект убери

Google
Like
19.05.2018
17:05:39
ща
Не делай ???

Maxim
19.05.2018
17:06:04
Не делай ???
почему?

Crestoff
19.05.2018
17:06:23
да делал , не помогло

Like
19.05.2018
17:08:55
почему?
Я пошутил?

Maxim
19.05.2018
17:10:11
return $this ->joinWith(['domains', 'cdn', 'adBannerFormat t2' => function($q){ $q->select(['needed_id', 'name AS banner_format']) ->with(['adBannerFormat']) ->FilterWhere([ 'domain_id' => $domain_id, 'ad_type_id' => $ad_type, 'id' => $ad_campaign_id, ]) ->active() ->asArray() ->all();

да делал , не помогло
Попробуй так ^ Ты хотя бы массивом получи желаемые поля, а потом определишь в какую модель их вставить

Crestoff
19.05.2018
17:11:31
ща

Maxim
19.05.2018
17:13:16
только t2 убери, если он нигде не используется

Crestoff
19.05.2018
17:14:32
щаща

Maxim
19.05.2018
17:21:37
щаща
ну что, не судьба?

Crestoff
19.05.2018
17:22:08
да ошибки полезли , разбираю

Maxim
19.05.2018
17:22:39
алиас определи на основную таблицу и прокинь его в эктив

и на needed_id обрати внимание, там должен быть id для связи

Crestoff
19.05.2018
17:26:40
ок

делаю

короче решил проблему

немного по-другому , но получил что хотел)

'ad_banner_format_id',

добавил в селект

тогда модель баннер-формат

Google
Crestoff
19.05.2018
17:38:55
начала подтягиваться

из неё уже дёргаю и размеры и название

короче спасибо большое за помощь!

Yuriy
19.05.2018
18:22:11
Добрый вечер! Пожалуйста, подскажите, для чего здесь https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/master/api/models/User.php использовать authKey? (https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/master/api/config/web.php yii\web\User::enableAutoLogin = true). Если при запросах к api в данном случае используется токен..

к тому же auth_key используется для подтверждения email после регистрации https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/bedccd53b98f64081b28fea40388a70688652019/api/models/SignupForm.php#L98

по моим рассуждениям - yii\web\User::enableAutoLogin прям должен быть false, сам authKey - заиспользован не по назначению. и проще переименовать его во что-то вроде emailConfirmToken, для успокоения) интересует следующее - я прав или что-то напутал?

Like
19.05.2018
19:20:17
А

Тут ж верстаки были вроде как

Да?

Есть у кого верстка чатика? Ну в смысле Сайт - чат/месенеджер Я чета не могу найти ничего годного

Maxim
19.05.2018
19:22:00
не очень понял твой вопрос Ты верстальщика ищешь, чат с верстальщиками или тебе Фронтендщик/чат с фронтандщиками нужен, чтоб фрейм какой-то знал?

Maxim
19.05.2018
19:22:59
так если там например ng - много не украдешь)

Like
19.05.2018
19:23:16
Дык есть фришные

templatemonster

Типа этого

Maxim
19.05.2018
19:24:29
так это отстой для CMS, нет?

Like
19.05.2018
19:24:43
Там ж вроде чистая есть

Google
Like
19.05.2018
19:24:44
Не?

> HTML шаблоны

Maxim
19.05.2018
19:24:53
Там и воровать нечего. Открывай страницу и копируй html к себе

Like
19.05.2018
19:25:07
Maxim
19.05.2018
19:26:16
таких не знаю

Like
19.05.2018
19:26:24
?

Yuriy
19.05.2018
19:27:09
Наверно там используется Basic Auth, а не Bearer Хоть и рест, но ты же в браузере все делаешь. Why not?
как раз HttpBearerAuth https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/bedccd53b98f64081b28fea40388a70688652019/api/modules/v1/controllers/UserController.php#L42

Like
19.05.2018
19:27:14
Лана Если будет чета красивое - тоже сойдет

Подкинете если чо :)

Maxim
19.05.2018
19:30:39
как раз HttpBearerAuth https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/bedccd53b98f64081b28fea40388a70688652019/api/modules/v1/controllers/UserController.php#L42
class StaffController extends ActiveController { public $modelClass = 'app\models\User'; Я бы это не юзал Ты на php не смотри, смотри на взаимодействие ng с yii2 и пиши нормально, не как там https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/bedccd53b98f64081b28fea40388a70688652019/api/modules/v1/controllers/StaffController.php#L22

Yuriy
19.05.2018
19:33:52
class StaffController extends ActiveController { public $modelClass = 'app\models\User'; Я бы это не юзал Ты на php не смотри, смотри на взаимодействие ng с yii2 и пиши нормально, не как там https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/bedccd53b98f64081b28fea40388a70688652019/api/modules/v1/controllers/StaffController.php#L22
я просто просматриваю написанное в данном репозитории, черпаю необходимое) а тут на тебе и jwt + authKey + enableAutoLogin. да еще и подтверждение email по authKey. что меня немного запутало)

Like
19.05.2018
19:35:25
Такс

Чо такое

Нада разрулить авторизацию с jwt?

Yuriy
19.05.2018
19:36:36
@maximniko а чего не так в 22 строке? с ней все ок)

Нада разрулить авторизацию с jwt?
не совсем. чуть выше описал неясность

Like
19.05.2018
19:38:37
Ну лан

Maxim
19.05.2018
19:39:59
@maximniko а чего не так в 22 строке? с ней все ок)
Как он это использует в контроллере? Вот так? https://github.com/chrisleekr/yii2-ngx-boilerplate/blob/bedccd53b98f64081b28fea40388a70688652019/api/modules/v1/controllers/StaffController.php#L125

Ладно. Может где и использует, не хочу вникать

Google
Yuriy
19.05.2018
19:49:01
Нада разрулить авторизацию с jwt?
а вот теперь вопрос о jwt) если сделать его краткосрочным, его ведь придется постоянно обновлять.. где прочитать об этом?. чтобы кратко и ясно)

Like
19.05.2018
19:50:05
https://x-team.com/blog/my-experience-with-json-web-tokens/

> 1. Long-lived JWT + Validation on every request

Это?

Yuriy
19.05.2018
19:50:44
@shindakioku на сколько помню, у клиента должен быть и рефреш токен, брагодаря которому можно запрашивать новый основной токен

Like
19.05.2018
19:50:46
> var token = jwt.sign({ appId: appId }, certificate, { algorithm: 'RS512', expiresIn: 300 }); А, вон все проще

Yuriy
20.05.2018
06:30:37
Теперь вопрос касательно ролей RBAC. Накидал несколько новых контроллеров, действия к которым получает любой пользователь после аутентификации. Как мне лучше поступить? - создать новую роль с разрешениями к действиям этих контроллеров и добавить ее в defaultRoles? или воспользоваться ролью @?

Maxim
20.05.2018
06:39:43
Теперь вопрос касательно ролей RBAC. Накидал несколько новых контроллеров, действия к которым получает любой пользователь после аутентификации. Как мне лучше поступить? - создать новую роль с разрешениями к действиям этих контроллеров и добавить ее в defaultRoles? или воспользоваться ролью @?
Проверяй по пермишинам. Зачем роль? Тебе все равно нужно следить, чтоб юзер только свой пост или комент мог удалять А там смотри что за экшены, нужно ли будет индивидуализировать эти разрешения для каждой роли

Eugene
20.05.2018
09:42:25
РЕбят подскажите, есть код который выполняет отправку писем if ($user->save()) { return Yii::$app->mailer->compose(['text' => 'passwordResetToken-text'], ['user' => $user]) ->setFrom(['test@test.com' => 'test']) ->setTo($this->email) ->setSubject('Password reset for ' . Yii::$app->name) ->send(); } Этот код лежит в модуле - и соответственно использует шаблоны для рендеринга писем из этого же модуля (.../moduleName/mail/...) КАК МНЕ ЯВНО УКАЗАТЬ ЧТОБЫ ИСПОЛЬЗОВАЛИСЬ ШАБЛОНЫ ПРИЛОЖЕНИЯ (из папки @app/mail/...)???

Eugene
20.05.2018
10:09:51
в настройках модуля, очевидно
Разобрался оказалось все гораздо проще в "compose" можно явно указывать путь для шаблона в моем случае нужно было сделать так: return Yii::$app->mailer->compose(['text' => '@app/mail/passwordResetToken-text'], ['user' => $user])

R
20.05.2018
12:33:11
Подскажите пожалуйста как разрешить неавторизованным пользователя доступ к index Вот такой код ниже возвращает 401 при запросе index $behaviors['access'] = [ 'class' => AccessControl::className(), 'except' => ['index'], 'rules' => [ [ 'allow' => true, 'roles' => ['@'], ], ], 'denyCallback' => function ($rule, $action) { throw new UnauthorizedHttpException('Unauthorized'); } ];

Максим
20.05.2018
12:35:52
так не работает? [ 'actions' => ['index'], 'allow' => true, 'roles' => ['?'], ], [ 'allow' => true, 'roles' => ['@'], ],

R
20.05.2018
12:41:36
@kohone вот в том то и дело что нет

Вот полный код Это rest controller. Условно говоря я хочу что бы CRUD был только для авторизованых, а вот index для любых. Но для того что бы работали тесты codeception мне пришлось добавить поддержку авторизаци через HttpBearerAuth public function behaviors() { $behaviors = parent::behaviors(); if (YII_ENV_TEST) { $behaviors['authenticator']['authMethods'][] = HttpBearerAuth::className(); } $behaviors['access'] = [ 'class' => AccessControl::className(), 'rules' => [ [ 'allow' => true, 'roles' => ['@'], ], [ 'allow' => true, 'actions' => ['index'], 'roles' => ['?'], ], ], 'denyCallback' => function ($rule, $action) { throw new UnauthorizedHttpException('Unauthorized'); } ]; return $behaviors; }

Andriy
20.05.2018
12:47:26
Привет ребят, подскажите пожалуйста, с чем может быть связана данная ошибка? Запустил миграции, все прошло. Но сам сайт не работает из-за этой ошибки



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