@laravel_pro

Страница 1558 из 2014
Игорь
03.07.2018
18:27:27
А кнечных результатов несколько)

 ?Donnie ?‍?
03.07.2018
18:27:39
По хорошему миддлвар который юзает фабрику

Игорь
03.07.2018
18:28:06
И все равно в роуте в БД лезть я хз можно ли так

 ?Donnie ?‍?
03.07.2018
18:28:18
А чего нет?

Google
Игорь
03.07.2018
18:28:38
Ну в данном случае не суть. Нормальное решение

 ?Donnie ?‍?
03.07.2018
18:28:41
Тебе же никто не мешает сделать User::where()

Игорь
03.07.2018
18:29:25
Тебе же никто не мешает сделать User::where()
Ну мне казалось, что это больше для контроллеров или для сервисов

 ?Donnie ?‍?
03.07.2018
18:29:49
Если смотреть в доку ларки, то ничего не мешает?

Тут все от религии зависит

Игорь
03.07.2018
18:30:49
Тут все от религии зависит
Ну скорее всего от этого и нужно отталкиваться, а не от доков. Тот же Yii много чего себе в доках позволяет...

 ?Donnie ?‍?
03.07.2018
18:31:22
Мое дело решение дать, архитектурно как это будет выглядеть меня мало интересует)

Игорь
03.07.2018
18:31:34
+

Мое дело решение дать, архитектурно как это будет выглядеть меня мало интересует)
А почту то как правильно валидировать? email|string или просто |email|

 ?Donnie ?‍?
03.07.2018
18:32:44
regex

Игорь
03.07.2018
18:33:03
regex
зачем так?

 ?Donnie ?‍?
03.07.2018
18:33:19
А ты с ходу скажешь как парсит стрингу email?

Я не помню какая там валлидация

Google
Игорь
03.07.2018
18:34:12
А ты с ходу скажешь как парсит стрингу email?
Нет конечно. Но я думаю там все нормально?! (или где-то тут должна быть ссылка на портянку из кучи строк на правильную проверку email))) через регулярку

 ?Donnie ?‍?
03.07.2018
18:35:09
Вот я не уверен что полностью кириллический емейл оно схавает

Игорь
03.07.2018
18:35:54
И как бы не парсил, если в итоге там не окажется валидный e-mail?

Вот я не уверен что полностью кириллический емейл оно схавает
У меня вот сразу и ответило: Введите существующий адрес e-mail.

 ?Donnie ?‍?
03.07.2018
18:36:24
Воооот

Игорь
03.07.2018
18:36:25
ываыавы@ывавыааю.уц

 ?Donnie ?‍?
03.07.2018
18:36:28
regex

Игорь
03.07.2018
18:38:00
Воооот
А это вообще прижилось?

 ?Donnie ?‍?
03.07.2018
18:38:12
Есть такие индивидумы...

Игорь
03.07.2018
18:38:24
Никого не видел с кириллицей

 ?Donnie ?‍?
03.07.2018
18:38:24
В странах снг

По сути какая разница, у ларки тот же regex

Ты просто юзаешь свой

Игорь
03.07.2018
18:39:35
Да, мне кажется пока что рано еще думать о таких пользователях)

Да и вообще все через соцсети заходят

 ?Donnie ?‍?
03.07.2018
18:41:36
Ну тут короче от проекта зависит

Игорь
03.07.2018
18:41:45
И если это пока еще не поддерживается стандартом RFC 3696, то я думаю тут уже нужно смотреть не хочешь ли ты потерять этого клиента

 ?Donnie ?‍?
03.07.2018
18:41:47
Я только свое мнение высказал

Игорь
03.07.2018
18:42:00
 ?Donnie ?‍?
03.07.2018
18:43:51
Точно так же можно написать просто кастомный месседж типа емейл должен содержать только латиницу и цифры

Google
 ?Donnie ?‍?
03.07.2018
18:44:20
Тут нужно смотреть сколько таких клиентов к тебе прийдет и какова вероятность потери

При чем в первую очередь денег бизнеса

Игорь
03.07.2018
18:49:04
согласен

Игорь
03.07.2018
19:00:55
не подскажете, как в сидере заполнить поле user_id в таблице Profile? class UsersTableSeeder extends Seeder { public function run(): void { factory(User::class, 10)->create()->each(function ($u){ $u->profile()->save(factory(Profile::class)->make()); }); } }

Илья
03.07.2018
19:02:47
Игорь
03.07.2018
19:04:13
Maksim (Ellrion)
03.07.2018
19:04:33
нет
Ну вообще должен)

Игорь
03.07.2018
19:04:59
Так он так и заполнит. Нет?
Может что-то слетело, вроде раньше заполнял. Ключи в БД все прописаны, связи тоже.

Так он так и заполнит. Нет?
Может я профиль нужно что-то дописать? $factory->define(Profile::class, function (Faker $faker) { return [ 'birthday' => $faker->date($format = 'Y-m-d', $max = 'now'), 'phone' => $faker->e164PhoneNumber, 'connection' => $faker->realText($maxNbChars = 200, $indexSize = 2), 'country' => $faker->country, 'city' => $faker->address, ]; }); Там поле user_id я не писал, но сидер ошибку пишет

Igor
03.07.2018
19:06:42
Может что-то слетело, вроде раньше заполнял. Ключи в БД все прописаны, связи тоже.
еще вариант сделать factory на Profile в котором для поля 'user_id' будет функция возвращающая id юзера

Игорь
03.07.2018
19:07:35
еще вариант сделать factory на Profile в котором для поля 'user_id' будет функция возвращающая id юзера
Мне кажется лучше отталкиваться от пользователя все-таки. Что бы везде ключи парвильные стояли

Игорь
03.07.2018
19:08:22
По коду всё верно. А какую ошибку пишет.
: SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into `profiles` (`birthday`, `phone`, `connection`, `country`, `city`, `updated_at`, `created_at`) values (2002-12-05, +6170222480846, CHORUS. (In which the words have got into the garden, and marked, with one finger for the White Rabbit hurried by--the frightened Mouse splashed his way through the door, she walked on in a great., Sao Tome and Principe, 97583 Justyn River Kshlerinton, GA 38605-8822, 2018-07-03 19:07:50, 2018-07-03 19:07:50))

Игорь
03.07.2018
19:09:39
да и там и там

Google
Игорь
03.07.2018
19:10:31
Пробовал user_id в fillable в модели профиля добавить?
неаписал, но там тоде ошибка что ключи не совпадаю - я всем 1 добавил

Gord
03.07.2018
19:10:45
не умею писать, но хочу, не могу начать

Maksim (Ellrion)
03.07.2018
19:11:02
Ну вообще всё должно работать вот в доке также фигня описана https://laravel.com/docs/5.6/seeding#using-model-factories

М?

Игорь
03.07.2018
19:13:20
Илье писал

Код сработал

'user_id' => function () { return factory(User::class)->create()->id; }

Maksim (Ellrion)
03.07.2018
19:13:52
Admin
ERROR: S client not available

Maksim (Ellrion)
03.07.2018
19:13:56
Полная

Илья
03.07.2018
19:14:04
ну так понятное дело, что сработало

но не красиво

Игорь
03.07.2018
19:14:10
И самое интересно, когда писал - думал, что везде все исправил! Был уверен, что все работает. Но оказалось, не сломалось, а не было рабочим)

Igor
03.07.2018
19:14:12
Илье писал
тока ж ты смотри, ты либо связи юзай, либо мой код, но не все вместе

Это лажа
че это вдруг лажа?

Игорь
03.07.2018
19:14:39
тока ж ты смотри, ты либо связи юзай, либо мой код, но не все вместе
Как понимать? Для заполнения прокатит. А что не так ?

но не красиво
Есть еще вариант? Хочу увидеть

Igor
03.07.2018
19:15:16
Как понимать? Для заполнения прокатит. А что не так ?
при любом make - у тебя создасться юзер

Maksim (Ellrion)
03.07.2018
19:15:31
че это вдруг лажа?
Хз как объяснить если тебе самому не понятно. Это не логично и не по фен-шую скажем так)

Илья
03.07.2018
19:15:44
Есть еще вариант? Хочу увидеть
То что Максим выше из доки кидал должно работать

Google
Илья
03.07.2018
19:16:08
покажи свои связи

profile() из модели User

Igor
03.07.2018
19:16:38
Хз как объяснить если тебе самому не понятно. Это не логично и не по фен-шую скажем так)
ну вопросы к тейлору в доку https://laravel.com/docs/5.5/database-testing#writing-factories

Илья
03.07.2018
19:16:48
profile() из модели User
Чувствуется мне, что лажа там

Maksim (Ellrion)
03.07.2018
19:17:20
Igor
03.07.2018
19:17:45
Где в доке такое? Не вижу
Relations & Attribute Closures по ссылке че я дал

Maksim (Ellrion)
03.07.2018
19:18:19
Ок был не прав

Igor
03.07.2018
19:18:54
короч офигенная штука, если с ней разобраться. Когда ничего не передано в user_id то вызовется анонимка, и запустит другую фабрику, а если сам передашь user_id то анонимка не вызовется

Игорь
03.07.2018
19:19:39
+

Maksim (Ellrion)
03.07.2018
19:19:56
Но с сэйв от релешена логичнее и должно работать

Странно что ошибка. Я бы разобрался именно в том почему не работает то

Igor
03.07.2018
19:21:02
Как понимать? Для заполнения прокатит. А что не так ?
вообщем если сделаешь в отношениях ...->save(factory(Profile::class)->make()) - то создасться дополнительный юзер которого ты не ждешь, надо переопределять Profile::class)->make(['user_id' => null]))

Илья
03.07.2018
19:21:16
+
Покажи метод profile() из модели User

Igor
03.07.2018
19:22:00
Странно что ошибка. Я бы разобрался именно в том почему не работает то
вот в этом действительно странность, хз почему у него не работало, мож где ключи переопределил

Игорь
03.07.2018
19:22:20
Илья
03.07.2018
19:22:24
Игорь
03.07.2018
19:22:37
да
public function Profile() { return $this->hasOne('App\Profile'); }

Кратенько. Или вы считаете нужно было user_id указать?

Там вроде в простых случаях автоматом все подхватывается

Igor
03.07.2018
19:26:08
Там вроде в простых случаях автоматом все подхватывается
все же ты б лучше пока без моего кода нашел бы ошибку, почему user_id не заполнялся, а потом уже можешь и мой код вставлять

Страница 1558 из 2014