@yii2ru

Страница 239 из 1721
☕ CunningFox
16.06.2017
21:08:07
может быть

darkwoolf
16.06.2017
21:08:21
☕ CunningFox
16.06.2017
21:08:27
не может быть

darkwoolf
16.06.2017
21:08:48
просмотри репу плиз

Google
☕ CunningFox
16.06.2017
21:08:50
если ты убрал из инзерта auth_key то и ругаться он на него не будет

darkwoolf
16.06.2017
21:09:16


☕ CunningFox
16.06.2017
21:09:17
запусти php yii migrate

darkwoolf
16.06.2017
21:10:19


☕ CunningFox
16.06.2017
21:10:50
окей, значит будем править таблицу

☕ CunningFox
16.06.2017
21:12:09
tbl_user?
в up()

try { $this->dropTable('{{%user}}'); } catch (Exception $ignore) {}; $this->createTable('{{%user}}', [ 'id' => Schema::TYPE_PK, 'name' => Schema::TYPE_STRING . ' NOT NULL', 'email' => Schema::TYPE_STRING . ' NOT NULL', 'auth_key' => Schema::TYPE_STRING . '(32) NOT NULL', 'password_hash' => Schema::TYPE_STRING . ' NOT NULL', 'password_reset_token' => Schema::TYPE_STRING, 'status' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10', ], $tableOptions);

а потом insert с auth_key

darkwoolf
16.06.2017
21:13:04
и как мне тестить исключение в данном случае?

☕ CunningFox
16.06.2017
21:13:54
public function up() { if ($this->db->driverName === 'mysql') { // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'; } try { $this->dropTable('{{%user}}'); } catch (\Exception $ignore) {}; $this->createTable('{{%user}}', [ 'id' => Schema::TYPE_PK, 'name' => Schema::TYPE_STRING . ' NOT NULL', 'email' => Schema::TYPE_STRING . ' NOT NULL', 'auth_key' => Schema::TYPE_STRING . '(32) NOT NULL', 'password_hash' => Schema::TYPE_STRING . ' NOT NULL', 'password_reset_token' => Schema::TYPE_STRING, 'status' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10', ], $tableOptions); $this->insert('{{%user}}', [ 'id' => 1, 'login' => 'admin', 'email' => 'admin@example.com', 'auth_key' => Yii::$app->security->generateRandomString(), 'password_hash' => Yii::$app->security->generatePasswordHash('admin'), ]); }

и как мне тестить исключение в данном случае?
? это на случай если первая миграция не пройдет

darkwoolf
16.06.2017
21:14:37
и запускать миграцию?

Google
☕ CunningFox
16.06.2017
21:14:44
php yii migrate

darkwoolf
16.06.2017
21:15:32
https://gist.github.com/darkwoolf10/153d3062b287d9929a056bd371c8c6ba

☕ CunningFox
16.06.2017
21:16:14
?

Старый синтаксис

use yii\db\Schema;

добавь перед объявлением класса

<?php use yii\db\Schema; use yii\db\Migration; class m130524_201442_init extends Migration

в подобном духе

darkwoolf
16.06.2017
21:18:05
https://gist.github.com/darkwoolf10/e1706342d6c4e2d63b3305724f6a4bfd

☕ CunningFox
16.06.2017
21:20:51
ладно, снеси руками таблицу tbl_user

может там fk какой

darkwoolf
16.06.2017
21:22:33
mysql> use TABLES Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> DROP TABLE 'tbl_user' -> ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tbl_user'' at line 1

ааа

в этом терминале фигово видно

скинул увидел

mysql> DROP TABLE tbl_user; ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

☕ CunningFox
16.06.2017
21:23:35
ну я так и подумал

ничего же нужного нет? тогда сноси со всем что есть

darkwoolf
16.06.2017
21:24:05
нет

базу то есть?

Google
☕ CunningFox
16.06.2017
21:24:40
как вариат, создай вторую базу и с ней работай

поправишь db.php только

darkwoolf
16.06.2017
21:24:54
https://sllite.ru/2014/10/yii2-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b1%d0%bb%d0%be%d0%b3%d0%b0-%d1%87%d0%b0%d1%81%d1%82%d1%8c-2-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8/

Я от сюда брал базу данных

☕ CunningFox
16.06.2017
21:25:25
ну я догадался что откуда-то))

давай лучше степ-бай-степ

и не отходить от того что есть в офф гайдах, проще гуглить потом будет)

darkwoolf
16.06.2017
21:26:02
Я сам потом буду этим занимать

просто это дипломка друга

☕ CunningFox
16.06.2017
21:26:50
ну, как вариант есть офф гайды

можешь пошагово сделать блог

darkwoolf
16.06.2017
21:26:58
То есть оно не будет работать если я еще раз добавлю эти три таблицы

darkwoolf
16.06.2017
21:27:01
?

☕ CunningFox
16.06.2017
21:27:34
у тебя юзер таблица не удаляется потому что связана с другой

darkwoolf
16.06.2017
21:28:11
а можешь еще посмотреть одну фигню



☕ CunningFox
16.06.2017
21:28:28
либо проверку ключа отключить, либо в таблицу к которой привязано добавить CASCADE на DELETE/UPDATE

м?

darkwoolf
16.06.2017
21:29:07
https://github.com/darkwoolf10/new_yii_project

Опять же типо делал по гайду

Google
darkwoolf
16.06.2017
21:30:37
по идее должно выводить формы

CRUD

☕ CunningFox
16.06.2017
21:30:50
https://habrahabr.ru/post/324300/

попробуй отсюда начать

darkwoolf
16.06.2017
21:30:56
но увы нифига

Еще не видел таких новых гайдов когда гуглил)

☕ CunningFox
16.06.2017
21:31:39
gii работает и нужен ?

darkwoolf
16.06.2017
21:32:09
Но там видишь, она не полная(статья)

там только первая часть

Admin
ERROR: S client not available

☕ CunningFox
16.06.2017
21:32:56
ну заминусовали, потому что все это есть в офф доках

darkwoolf
16.06.2017
21:33:06
https://www.youtube.com/watch?v=0J4YFmFQlLE&t=1s

☕ CunningFox
16.06.2017
21:33:12
http://www.yiiframework.com/doc-2.0/guide-README.html

darkwoolf
16.06.2017
21:33:13
видел вот по которому делал

вообще изи вроде

☕ CunningFox
16.06.2017
21:33:28
Изи, читай доки )

darkwoolf
16.06.2017
21:33:29
без ошибок каких-то получилось

Изи, читай доки )
Ну только это и остаеться)

☕ CunningFox
16.06.2017
21:34:13
так там ничего сложного

Google
☕ CunningFox
16.06.2017
21:34:39
а минималка из коробки есть)

darkwoolf
16.06.2017
21:35:21
а минималка из коробки есть)
Я просто не могу понять чего у автора видео получилось, а у меня не выводит

хотя там пару движений по сути

Павел
17.06.2017
05:56:09
https://github.com/darkwoolf10/new_yii_project
Упорству храбрых поем мы песню!

Jakhongir
17.06.2017
06:57:05
Здравствуйте, можете в кое-в-чем подсказать, нужно выбирать период календарем (DatePicker - 2 поля начало,конец или DateRangePicker), период целое количество недель, то есть например, нельзя выбирать даты так, чтобы период получался 8 дней или 5, только так чтобы было кратно 7. Как это можно сделать? есть ли какие-то настройки у datepicker?

Konstantin
17.06.2017
07:53:47
Делать свой пикер

SiZE
17.06.2017
08:00:17
Там можно на js проверку написать я думаю

В зависимости от выбранной даты оставлять нужные даты для выбора

Alexander
17.06.2017
08:02:38
Либо не мучать людей и дать выбирать номер недели. Если в этой области знаний оперируют неделями, то и номер им должен быть известен

Konstantin
17.06.2017
08:11:06
Задача слишком уникальная

Слишком частная

Либо ты делаешь на том что есть либо пилить свой механизм)))

Алимжан
17.06.2017
09:13:14
Вопрос таков: кто как пишет тесты на валидацию форм? Т.е. на проверку все ли rules указаны правильно и ничего не забыто

Иван
17.06.2017
09:35:13
И как быть со сценариями
Отдельной моделью для формы как здесь http://www.elisdn.ru/blog/71/seo-service-on-yii2-user-profile

Алимжан
17.06.2017
09:36:40
Отдельной моделью для формы как здесь http://www.elisdn.ru/blog/71/seo-service-on-yii2-user-profile
Дык я про формы и спрашиваю, а не про AR. И там ни слова про тестирование

Иван
17.06.2017
10:24:00
Дык я про формы и спрашиваю, а не про AR. И там ни слова про тестирование
В обычной модели так же как и в active record можно прописать rules и есть метод validate

Иван
17.06.2017
10:28:03
Я про написание тестов.
Ааа, я в первом предложении пропустил слово тесты и думаю потом че ты про тесты спрашиваешь. Есть книжка по yii2 называется "разработка веб-приложений в yii 2". Там все про тесты написано. Я тестил как в книжке приёмочным тестом.

Алимжан
17.06.2017
10:28:38
Но пока у меня что-то вроде public function testName() { $this->specify('Name is required', function() { $this->form->name = null; verify($this->form->validate(['name']))->false(); }); $this->specify('Name length is > 3', function() { $this->form->name = '12'; verify($this->form->validate(['name']))->false(); }); $this->specify('Name length is < 255', function() { $this->form->name = $this->tester->getFaker()->text(1000); verify($this->form->validate(['name']))->false(); }); $this->specify('Name is ok', function() { $this->form->name = $this->tester->getFaker()->text; verify($this->form->validate(['name']))->true(); }); }

Это лучшее, что я смог придумать

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