@yii2ru

Страница 992 из 1721
Vladislav
21.02.2018
07:34:37
всё равно передавать куча парметров, которые не нужны и так они дефолтны, ради того чтобы передать 1 нужный мне параметр?



Максим
21.02.2018
07:36:14
так а почему тебя beforeSave не устраивает?

Google
Ad.x ??
21.02.2018
07:36:51
Ребята, подскажите плиз. В базе в поле cdate хранится дата в формате timestamp само поле int. Как можно в моделе это поле cdate привести к формату "d MM yy" например.
правильный ответ - убрать нахуй этот инт. просто выпилить из своей памяти раз и навсегда, что можно в инте хранить таймштамп

Ad.x ??
21.02.2018
07:37:26
обьясни почему

Максим
21.02.2018
07:37:31
и не подеретесь, и не до крови?

Vladislav
21.02.2018
07:37:44
так а почему тебя beforeSave не устраивает?
потому что нужен параметр для логики перед сохранением)

Максим
21.02.2018
07:38:14
ну так добавь свойство модели, и от него пляши. чем плохо решение? или проще метод новый создать?

Ad.x ??
21.02.2018
07:39:18
вот это как раз неправильный ответ :)
"Незнаю почему, но нутром чую что неправильный". Да?

Vladislav
21.02.2018
07:40:19
@kohone ну а ты сам подумай, что лучше? написать свойство, в контроллере его задавать + написать метод beforeSave для логики, либо просто создать метод с параметром и логикой и там вызывать $this->save()?

Eugene
21.02.2018
07:40:27
"Незнаю почему, но нутром чую что неправильный". Да?
нет, при проектировании бд лид сказал делать в int. Делаю в int, все остальное не вижу, не знаю и не использную ;)

Максим
21.02.2018
07:40:29
"Незнаю почему, но нутром чую что неправильный". Да?
а чем хорош твой вариант? Только тем, что позволяет выборку делать без дополнительных ухищрений?

потом тебе надо будет добавить еще что-то перед сохранением, но уже с другим параметром, еще один метод надо будет делать, который будет вызывать первый метод?

Ad.x ??
21.02.2018
07:41:32
а чем хорош твой вариант? Только тем, что позволяет выборку делать без дополнительных ухищрений?
он имеет все преимущества интового поля, при этом подключается доп функционал бд. Проще в понимании сторонним человеком

Google
Ad.x ??
21.02.2018
07:42:10
нет, при проектировании бд лид сказал делать в int. Делаю в int, все остальное не вижу, не знаю и не использную ;)
лид конечно же тоже не сможет объяснить тебе почему так... охуенно я считаю )

Vladislav
21.02.2018
07:42:11
@kohone в любом случае мой метод показался легче в реализации и в использовании)

Максим
21.02.2018
07:42:42
лид конечно же тоже не сможет объяснить тебе почему так... охуенно я считаю )
предположение странное) Нигде не говорилось, что он не может объяснить

Ad.x ??
21.02.2018
07:43:08
ну аргументация "потому что так сказал лид" по твоему нормальная?

Eugene
21.02.2018
07:43:11
лид конечно же тоже не сможет объяснить тебе почему так... охуенно я считаю )
сказано было, что timestamp в формате int легче преобразовать в любой из нужных форматов времени, я с этим не спорю, например. Хз чем твой timestamp лучше

Максим
21.02.2018
07:43:19
он имеет все преимущества интового поля, при этом подключается доп функционал бд. Проще в понимании сторонним человеком
может у него далекоидущие планы, он придумал архитектуру, в которой нужен именно int

Ad.x ??
21.02.2018
07:43:55
ничто не мешает сделать это средствами ЯП

Максим
21.02.2018
07:44:18
никогда не нравился этот таймстепм, чтобы переделать в другой формат, потом все равно надо в UNIXTIME перегонять

Eugene
21.02.2018
07:44:30
таймштамп в мускуле можно очень легко преобразовать в любой формат времени средствами бд
Я на yii сижу, я один раз делаю выборку а потом все время делаю типа $model->cdate

и какой мне там нужен формат

нахера мне твои средства бд?

Ad.x ??
21.02.2018
07:45:07
Eugene
21.02.2018
07:45:17
наконец то тебе стало понятно

Ad.x ??
21.02.2018
07:45:41
ты не понял что мне понятно. но хорошо что ты со мной согласен

Andrey
21.02.2018
07:45:48
А если сменится часовой пояс то как вы хронологию данных сохраните?

Ad.x ??
21.02.2018
07:46:19
А как хранить дату?
в том же таймштампе, или date

Google
Максим
21.02.2018
07:46:25
не сменится ;)
а вдруг ось земли изменит наклон

Eugene
21.02.2018
07:46:38
а вдруг ось земли изменит наклон
боюсь будет не до часовых поясов в бд)

Andrey
21.02.2018
07:47:00
За последние годы раза 3 меняли)))))

А если на сервере слетит временная зона.. данные похеришь

Ad.x ??
21.02.2018
07:48:05
За последние годы раза 3 меняли)))))
щас он скажет что хранят временные метки в UTC ;D

а потом добавляют или отнимают дату в зависимости от часового пояса пользователя

Максим
21.02.2018
07:48:42
"2018-02-21 10:48:23" где тут метка часового пояса?

Ad.x ??
21.02.2018
07:50:14
"2018-02-21 10:48:23" где тут метка часового пояса?
это не таймштамп, но ты прав, не хранит. однако сама бд преобразует таймштам в утц, если выставлен дефолтный часовой пояс утц

Vladislav
21.02.2018
07:51:10
Кстати, народ. Интересный для меня самого же вопрос. Как реализовать многоуровневый ЧПУ? У меня имеется база с таблицей категории в которой указывается необязательный атрибут parentId который ведёт на id той-же таблицы.

Максим
21.02.2018
07:52:07
это не таймштамп, но ты прав, не хранит. однако сама бд преобразует таймштам в утц, если выставлен дефолтный часовой пояс утц
а что это тогда, если не TIMESTAMP? я в базе создал поле, тип timestamp, по дефолту current_timestamp и он такими значениями заполнил поля

Vladislav
21.02.2018
07:52:20
@sizepermru да уже проехали =D

Максим
21.02.2018
07:52:47
Ad.x ??
21.02.2018
07:52:55
для тех кто не в курсе, таймштамп в бд хранится в виде integer

внезапно

Vladislav
21.02.2018
07:53:03
@sizepermru эм... всмысле? =D

Максим
21.02.2018
07:53:06
вот это поворот

Google
Ad.x ??
21.02.2018
07:53:33
заговор жидомасонов, чтоб никто не догадался да ))

и все думали что там строка ахахаха)))

Andrey
21.02.2018
07:55:54
Он же отображает формат в зависимости от настроек часового пояса сервера, а внутри int unix time stamp

Максим
21.02.2018
07:56:22
заговор жидомасонов, чтоб никто не догадался да ))
это специально придумали, чтобы холивары разводить

Vladislav
21.02.2018
07:59:10
решили найти хайпа

и хайпанули

Ad.x ??
21.02.2018
08:35:42
@russianlagman все еще не хочешь валидатором datetime с сообществом поделица?

Alexey
21.02.2018
08:35:54
nea

Admin
ERROR: S client not available

Alexey
21.02.2018
08:37:18
за 3 минуты ж пишется )

Ad.x ??
21.02.2018
08:38:12
ну не то чтобы 3

Vano
21.02.2018
08:58:34
Привет ребята. Подскажите по тестированию: когда и как запускать миграции?

R
21.02.2018
08:59:49
@devium php yii_test migrate

Vano
21.02.2018
09:00:09
Прям перед запуском codecept?

R
21.02.2018
09:01:48
@devium нет 1 раз

@devium yii_test migrate от yii migrate нечем не отличаются кроме окружения

Vano
21.02.2018
09:02:55
yii_test у меня нет в проекте. Где он должен быть?

R
21.02.2018
09:04:04
@devium представь что у тебя 2 копии сайта, одна для разработки dev, другая для тестирования, отличаются они только параметрами окружения в данном случае название базы. Соответственно если ты применил миграции на dev то тебе нужно применить так же миграции на test что бы обе базы были в одинаковом состоянии

@devium https://github.com/yiisoft/yii2-app-advanced/tree/master/environments/dev

Ad.x ??
21.02.2018
09:06:44
обожаю простыни прямо в чятик

Google
Vano
21.02.2018
09:07:07
понял, у меня голый проект, потому и нет файла...

Ок, а внутри тестов можно как-то все фикстуры запускать\чистить?

R
21.02.2018
09:09:01
@devium да, перед каждым тестом очищаются данные и загружаются новые, это пишется прямо в тесте в методе _before

@devium https://github.com/yiisoft/yii2-app-advanced/blob/master/frontend/tests/unit/models/SignupFormTest.php

Vano
21.02.2018
09:10:25
А haveFixtures умеет все возможные фикстуры запушить в базу?

R
21.02.2018
09:11:45
@devium не понял вопроса

Vano
21.02.2018
09:12:22
Я в _before хочу для каждого теста все доступные в папке фикстуры добавлять в базу. Так можно?

R
21.02.2018
09:13:13
@devium можно, но зачем?

Vano
21.02.2018
09:14:05
В каждом тесте стартовое состояние базы, к примеру, по 10 записей.

Ну это как бы так надо, ибо каждый тест - независим от соседских.

R
21.02.2018
09:15:31
@devium ты не понял, _before выполняется каждый раз перед началом теста, т.е. если у тебя в файле допустим 3 теста то _before выполнится 3 раза перд каждым тестом

Vano
21.02.2018
09:16:11
Именно так мне и надо. Вопрос: как все фикстуры пушить в базу?

R
21.02.2018
09:16:33
@devium перечисли их все в haveFixtures

@devium руками

Vano
21.02.2018
09:17:11
ManufactureDrivenDevelopment :)

понял, огромное спасибо за помощь

R
21.02.2018
09:18:08
@devium но я все же не рекомендовал тебе перечислять все фикстуры, лучше использовать только те которые нужны для теста, т.е. если ты тестируешь регистрацию, авторизацию то тебе по факту нужны только фикстуры юзеров и все

@devium пока у тебя 50 тестов может быть и ок, но когда тестов станет больше то мс потраченные на загрузку фикстур превратятся в минуты

Vano
21.02.2018
09:21:01
Ну это не проблема, тесты запускать будет jenkins, но возьму во внимание. Еще раз спасибо.

Nastya
21.02.2018
09:22:34
ребята, вы не могли бы мне подсказать? в приложении есть две базы, первая как бы общая, а вторая подключается из длинного списка в зависимости от залогинившегося юзера. роли и прочие пермишены у меня во второй базе. но проблема в том, что нужно какое-то разграничение ролей для сущностей из общей базы, ну там права на админку раздать, запретить какие-то страницы незалогиненным и пр. на два приложения все это я делить не стала, к сожалению, но щас других путей не вижу, кроме как разные приложения и разные конфиги. но мб можно как-то смержить роли из двух баз?

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