
Konstantin
21.10.2018
20:17:18
Что значит- нормально?

Aleksey
21.10.2018
20:19:00
На dev сервере через git hook был скрипт который делал git pull + yii migrate. Я только пушил и сразу видел изменения на деве. Делать автообновление на проде не решились.
Вывод скриптов пишется в log файлы, которые доступны по http.

?? Vladimir
21.10.2018
20:24:32
Что значит- нормально?
Допустим делаю так. Тут команде допущена ошибка, чтобы получить ответ от системы который нужно отлавливать
$output_pull = '';
exec("git puldl origin master", $output_pull);
$message_pull = implode("<br>\r\n", $output_pull);
mail('dev.vladimirkarpenko@gmail.com','Pull log', $message_pull);
В таком случае приходит пустое письмо, хотя я планировал получить сообщения об ошибке.
Но тут скорее мне знаний php не хватает

Google

Aleksey
21.10.2018
20:26:22
может ошибка пишется в stderr?
git pull origin master 2>&1
пробуй

?? Vladimir
21.10.2018
20:29:21
Вообще клиенты довольно экстравагантные. В их стиле рискнуть работоспособностью продакшена
Ещё немного пугает, когда они начинают присылать структуру таблиц. Или, что ещё лучше, они сами делают свои задачи, но не в правильной ветке

Konstantin
21.10.2018
20:33:00
нужно юзать popen(), либо перенаправлять вывод stderr в stdout

?? Vladimir
21.10.2018
20:34:06

Konstantin
21.10.2018
20:34:16
да

Aleksey
21.10.2018
20:34:40
https://www.opennet.ru/docs/RUS/bash_scripting_guide/c11620.html

Konstantin
21.10.2018
20:35:40

Сергей
22.10.2018
06:50:10

Google


Сергей
22.10.2018
06:50:15
GridView, а товары через hasMany и цикл вывожу обычной таблицей, теперь мне осталось сделать поиск, поиск состоит из одной строки,
которая будет делать поиск по username, user id, product id, title product по username и user id я сделал без проблем, вот так
if(!empty($this->customSearch)){
$query->andFilterWhere (
[ 'OR' ,
[ 'like' , 'username' , $this->customSearch ],
[ 'id'=>(int) $this->customSearch ],
]
);
}
потом подключаю через $query = User::find()->with(["products"]); таблицу продуктов и делаю так
if(!empty($this->customSearch)){
$query->andFilterWhere (
[ 'OR' ,
[ 'like' , 'username' , $this->customSearch ],
[ 'id'=>(int) $this->customSearch ],
[ 'products.id'=>(int) $this->customSearch ],
[ 'like' , 'products.title' , $this->customSearch ],
]
);
}
но не хочет работать
The SQL being executed was: SELECT COUNT(*) FROM "user" WHERE ("is_admin"=0) AND (("username" LIKE '%5%') OR
("id"=5) OR ("products"."id"=5) OR ("products"."title" LIKE '%5%'))
ERROR: missing FROM-clause entry for table "products"
LINE 1: ...n"=$1) AND (("username" LIKE $2) OR ("id"=$3) OR ("products"...
подскажите пожалуйста тчо я делают не так)


Andrey
22.10.2018
07:31:51
joinWith('products')

Сергей
22.10.2018
08:50:01
joinWith('products')
решил это уже, а еще вопрос, почему когда я делаю вот так в search модели
$query = User::find()->select(['user.*', 'product.*'])->joinWith(["products"]);
и ожидаю что в $dataProvider->models будет user и к нему product, но приходит только данные по пользователям, а для продуктов нужно получать отдельно через hasMany еще раз?

Jack
22.10.2018
09:15:48
Всем привет
Есть на странице сайдбар на некоторых страницах он изменяется. Последовательность блоков, отсутствие некоторых и тп. Сильно заебало постоянно прокидывать через контроллер данные для вывода в сайдбар тем более что на многих страницах он одинаковый
Подскажите как лучше сделать ибо раньше не работал с yii и вообще с мвс

Anton
22.10.2018
09:17:18

Jack
22.10.2018
09:18:18
Вопрос именно в том нормально ли будет не прокидывать через контроллер а через сам компонент билдера
Мб глупый вопрос
Интересует именно нормальная ли это практика

Vadim
22.10.2018
10:01:58
Парни, как навешать ошибку валидации на поле? У поля name=RatingForm[data][general-data][5], в валидации делаю так $this->addError("RatingForm[data][general-data][5]", 'Ошибка');, но не срабатывает

Aleksey
22.10.2018
10:03:16
Используй $attribute

Vadim
22.10.2018
10:04:10
Используй $attribute
$this->addError($this->$attribute['general-data'][Rating::TYPE_JURIST_ADD_TO_CANDIDATES], 'Ошибка');
если так то тоже нет

Ad.x ??
22.10.2018
10:05:05

Vadim
22.10.2018
10:05:40
во дичь то бро
Либо кто скажет как сделать валидацию для динамических полей в форме?

Ad.x ??
22.10.2018
10:06:11
в доке все есть же
да и как ты динамические поля делаешь?
есть валидатор each, которым можно прекрасно валидировать массивы всякие разные. динамические как раз массивы должны быть

Google

Aleksey
22.10.2018
10:11:28

Andrey
22.10.2018
10:11:41
я в beforeAction выполняю действие, в afterAction отменяю это действие, а вот если возникает ошибка afterAction уже не выполняется.
как можно сделать отмену действия в случае возникновения ошибки?


Andrey
22.10.2018
10:26:37
ребят определение города, страны, языка по IP есть годнота?

Дмитрий
22.10.2018
10:27:10

Vadim
22.10.2018
10:29:37
public function validateAttribute($model, $attribute)
{
$value = $model->$attribute;
if (!is_array($value) && !$value instanceof \ArrayAccess) {
$this->addError($model, $attribute, $this->message, []);
return;
}
Из исходников. В валидатор передается атрибут модели, который проходит проверку. Вот ему и вешается ошибка.
У меня есть атрибут $data. В форме полей может быть хоть сколько, RatingForm[data][0], RatingForm[data][1], ... , RatingForm[data][n]. И вот на data я могу навесить ошибку, и он ее добавит на абсолютно все поля, а вот как задать ошибку для RatingForm[data][35] например я не понимаю.

Andrey
22.10.2018
10:30:30

Alexander
22.10.2018
10:31:02

Aleksey
22.10.2018
10:31:03

Alexander
22.10.2018
10:32:45

Mikhail
22.10.2018
10:37:04
добрый день. Есть AR модель, нужно одно из полей расчитывать на основании данных других перед сохранением. Куда идеологически верно этот расчет поместить? В beforeSave?

Oleg
22.10.2018
10:37:18

Andrey
22.10.2018
10:39:06
и речь идет о консоли, там и сессии то нет
я вижу только вариант переопределять runAction и вызывать $action->runWithParams() внутри try{}catch{} - но что-то такой подход мне не нравится

Aleksey
22.10.2018
10:42:28

SiZE
22.10.2018
10:42:44

Vadim
22.10.2018
10:44:18

Alexander
22.10.2018
10:44:49
Ща поищу

Google

Andrey
22.10.2018
10:45:38

SiZE
22.10.2018
10:46:12

Andrey
22.10.2018
10:46:45

Alexander
22.10.2018
10:46:58

Andrey
22.10.2018
10:46:59

Aleksey
22.10.2018
10:47:08

SiZE
22.10.2018
10:47:50
ну ну

Aleksey
22.10.2018
10:49:05
after не выполнится, значит автоматом rollback

Andrey
22.10.2018
10:50:00

SiZE
22.10.2018
10:50:24

Aleksey
22.10.2018
10:50:28
только нужно убедиться что автоматом именно rollback
SET AUTOCOMMIT=0

Andrey
22.10.2018
10:52:03
так мне то как раз нужно чтобы они попали в БД для других подключений

Slava
22.10.2018
10:52:07
всем привет
есть ли возможность установить свойство класса контроллера для всех контроллеров приложения, не изменяя их код?
мне нужно установить для всех контроллеров свой класс для свойства public $serializer
может как-то через DI ?

Aleksey
22.10.2018
10:53:14
тогда через кастомное событие както... в обработчике откат действия.

Vadim
22.10.2018
10:54:06
Хммм, странно почему ошибка у тебя не падает, ты же туда массив передаешь а нужна строка. У меня сразу падает

Alexander
22.10.2018
10:55:19

Google

Павел
22.10.2018
11:00:34

Andrey
22.10.2018
11:01:52

Vadim
22.10.2018
11:03:22

Andrey
22.10.2018
11:03:41
ну так код покажи...

Vadim
22.10.2018
11:05:24
И получаю htmlspecialchars() expects parameter 1 to be string, array given

Aziz
22.10.2018
11:07:23
привет: может кто помочь с настройкой cloudfire, возможно оплата)

Gubaydullin
22.10.2018
11:09:52
Добрый день
не могли бы вы помочь с регулярным выражением
^([^\s]+)([,][^\s]*)$
привет,как,дела
привет
я хотел бы чтобы "привет" также проходил
спасибо

Павел
22.10.2018
11:10:45
Поставь * После [,]
А чо за изврат с ^\s

Gubaydullin
22.10.2018
11:12:13
как можно объединить вместе условия
[,] и [^\s] в одном выражении
типа [,^\s] вот так же нельзя(

Павел
22.10.2018
11:13:16
есть же \S
И ващето по правилам русского языка после , должен идти пробел

Stas
22.10.2018
11:15:26

Oleg
22.10.2018
11:15:43

Gubaydullin
22.10.2018
11:17:33
мне нужно чтобы в админке вводили
привет,как,дела
привет
но не
привет как дела