These are chat archives for LaravelRUS/chat

23rd
Jul 2016
Andrei Sosnov
@atehnix
Jul 23 2016 00:07
&^%&, Laracasts сволочи. Сохранили у себя данные кредитки и списали за продление подписки на следующий месяц.
Перед списанием не уведомили даже. :rage:
@JeffreyWay I'm mad at you. :imp:
Maxim
@Big-Shark
Jul 23 2016 00:27
@garf Ты там как?
Роман Сохарев
@greabock
Jul 23 2016 00:51
@atehnix я погода на такой подписке сидел XD
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:53
я вроде рассказывал, что у меня с гитхабом такая же шляпа произошла
прикол в том, что они сняли сразу за год и по двойной стоимости, ибо курс доллара тогда взлетел
я написал, мол какого хрена
они вернули деньги сразу же, сказали, мол, извиняемся
только вернули примерно в полтора раза больше
Maxim
@Big-Shark
Jul 23 2016 00:54
@atehnix да это норм тема же? не?
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:54
ибо курс опять взлетел :D
Роман Сохарев
@greabock
Jul 23 2016 00:54
лоль
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:55
опять же, такая же история произошла и с руцентром
но прикол в том, что я наученный горьким опытом поставил галочку "отключить автоплатёж"
но они всё равно сняли деньги
Maxim
@Big-Shark
Jul 23 2016 00:55
@SerafimArts @atehnix Просто в тех же штатах и нз можно нормально работать с картами, а у нас все через жопу из за законов, и все пользуются третей стороной чтобы принимать платежи
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:55
и не вернули
сказали, мол "иди в жопу" (краткий пересказ)
Maxim
@Big-Shark
Jul 23 2016 00:56
@SerafimArts ну про ру центр мы помним) Так действительно косяк был
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:56
буквально вчера обратная история была
но с диджитал оушеном
Andrei Sosnov
@atehnix
Jul 23 2016 00:56
@greabock )) Надо мне в следующем месяце не прозевать)
@Big-Shark Да мне так то не жалко, ресурс то стоящий. Просто неприятно, ощущение, будто кто-то по моим карманам полазил.)
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:57
эти фиги с бубликами не хотели деньги принимать :D
Maxim
@Big-Shark
Jul 23 2016 00:57
@atehnix ты глянь у тебя холд или снятие, если холд, напиши письмо ему, и он может его отменить, в теории
Роман Сохарев
@greabock
Jul 23 2016 00:57
@atehnix ты можешь прямо сейчас пойти в лк и отписаться
Maxim
@Big-Shark
Jul 23 2016 00:58
@atehnix с другой стороны очень приятно когда ты не заходишь и не видишь что сайт отключился за не уплату, или что приватный гит репозиторий вдруг стал не доступным по той же причине)
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:58
автоплатёж - это средство откровенного наёба пользователей (вечер, никого всё равно нет, все свои, джаоды нет, так что думаю поматериться чуток)
Maxim
@Big-Shark
Jul 23 2016 00:58
@SerafimArts у меня норм принимают)
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:58
@Big-Shark та не, я в техподдержку написал, они приняли
Maxim
@Big-Shark
Jul 23 2016 00:58
@SerafimArts вечер? вечер? Да у меня 10.58 утра, вечер у него тут.
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 00:59
4ночи
Роман Сохарев
@greabock
Jul 23 2016 00:59
@SerafimArts какой вечер
Maxim
@Big-Shark
Jul 23 2016 00:59
@SerafimArts 4 часа вечера ты хотел сказать)
Andrei Sosnov
@atehnix
Jul 23 2016 00:59
@greabock раз уж оплачено, то посмотрю, что Джерфи в этом месяце выложит. Или доступ не пропадет? А то там как-то непрозрачно написано. Просто "Cancel Your Subscription". :)
Maxim
@Big-Shark
Jul 23 2016 00:59
@greabock вот такой вот дерьмовый вечер)
Роман Сохарев
@greabock
Jul 23 2016 00:59
@atehnix Конечно не пропадет
Maxim
@Big-Shark
Jul 23 2016 00:59
@atehnix не должен пропасть)
Andrei Sosnov
@atehnix
Jul 23 2016 01:00
@greabock @Big-Shark ок, поверю) Если что - с вас возьму :)
Да, все ок.)
Роман Сохарев
@greabock
Jul 23 2016 01:01
@atehnix ххехе, с нами где сядешь, там и слезешь )
Maxim
@Big-Shark
Jul 23 2016 01:15
@atehnix Ты арендовал когда не будь машину или квартиру через сайт в европе, или штатах?
Andrei Sosnov
@atehnix
Jul 23 2016 01:16
@Big-Shark нет
Maxim
@Big-Shark
Jul 23 2016 01:17
@atehnix ну тогда предупрежу, если ты вернешь машину допустим с пустым баком, то тебе ничего не скажут, а просто спишут бабло с карты чуть позже, или могут списать допустим за нарушение пдд, которые ты сделал во время аренды, ну и прочие прелести, так что то что себе позволил ларакаст, это мелочь)
@atehnix говорю как человек который занимался сервисов по аренде домов на колесах в автралии и новой зеландии) На сервисе хранились все данные карты, и любой менеджер всегда мог захолдить нужную сумму с любой из карт по какой либо причине)
Andrei Sosnov
@atehnix
Jul 23 2016 01:23
@Big-Shark ясненько) Видимо я просто не привык к такому порядку вещей)
У меня всё, что регулярно оплачивается - либо заранее предвещается уведомлением о предстоящем списании, либо изначально явно требовало вручную включить автосписание. Т.е. таким образом, чтобы я не мог не знать о том, что что-то будет списываться. Так и привык.)
Роман Сохарев
@greabock
Jul 23 2016 01:27
@Big-Shark я правильно понимаю, что холд может быть оспорен?
и если да, то в какой срок он реально списывается?
JhaoDa
@jhaoda
Jul 23 2016 01:42
@SerafimArts ай-ай-ай
Ска, за ковыряние в импортах вротпресса надо брать по двойному тарифу...
Роман Сохарев
@greabock
Jul 23 2016 02:05
@jhaoda :worried:
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 03:17
посмотрел сейчас фильмец отечественный
"Хардкор" называется
Andrei Sosnov
@atehnix
Jul 23 2016 03:18
@SerafimArts дадада.. видел, оправдывает название..))
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 03:18
просто эпик
картина на уровне работ маэстро Тарантино
Если не превосходит его конечно по качеству
JhaoDa
@jhaoda
Jul 23 2016 03:30
@SerafimArts трэш, угар и содомия?
Maxim
@Big-Shark
Jul 23 2016 04:09
@greabock от банка зависит, может быть оспорено и обычное снятие, но при обычном снятие это банк забирает сразу свою комиссию, а при холде только после того как холд подтвержден, поэтому холд обычно легче отменяют.
@SerafimArts ну не сказал бы что на уровне Тарантиро, но неплохой фильмец.
Роман Сохарев
@greabock
Jul 23 2016 04:11
@SerafimArts @Big-Shark хм... я что-то даже не слышал про него... совсем не было хайпа?
Maxim
@Big-Shark
Jul 23 2016 04:12
@greabock странно, был, но относительно не большой, так как фильм только на половину русский, а на половину американский
Роман Сохарев
@greabock
Jul 23 2016 04:13
Кстати, о съемках от первого лица: если не смотрели сериальчик "моими глазами", обязательно посмотрите - меня вставил прям
Eugene
@ElForastero
Jul 23 2016 06:18
Сижу и не понимаю, почему при переводе системной даты назад nginx отдает непонятно что, не реагируя не изменения файлов.
Andrei Sosnov
@atehnix
Jul 23 2016 06:52
@greabock :+1: Работа остановилась.. :)
Ivan
@Hunternnm
Jul 23 2016 07:09
Всем привет!
KarmaBot
@KarmaBot
Jul 23 2016 07:09
@Hunternnm и тебе не хворать :)
Ivan
@Hunternnm
Jul 23 2016 07:10
@jhaoda я вчера до 12 ночи правил, как оказалось, рабочий сайт на симпле... Поверь, вротпрес еще мега штука
Eugene
@ElForastero
Jul 23 2016 07:57
В моделях есть событие после выборки данных?
adminko
@adminko
Jul 23 2016 07:57
Такой вопрос. Есть форма с доступами к почте и кнопка проверить которая аяксом посылает введенные данные на сервер где я проверяю подключение к почте. При возникновении ошибки соединения с почтой мне возвращается 500, что естественно. Вопрос: как мне перехватить 500 и отдать корректное сообщение об ошибке?
public function smtp (Request $request)
    {
      $user = User::find(Auth::user()->id);
      $data = $request->smtp;
      if ($data['pass'] == '')
        $data['pass'] = $user->smtp->pass;

      try {
        $transport = Swift_SmtpTransport::newInstance($data['host'], $data['port']);
        $transport->setUsername($data['email']);
        $transport->setPassword($data['pass']);
        $mailer = \Swift_Mailer::newInstance($transport);
        $mailer->getTransport()->start();
        $message = trans('t.check_ok');
      } catch (Swift_TransportException $e) {
        $message = $e->getMessage();
      } catch (Exception $e) {
        $message = $e->getMessage();
      }
      return response()->json(['message' => $message]);
    }
KarmaBot
@KarmaBot
Jul 23 2016 07:58
@adminko, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
adminko
@adminko
Jul 23 2016 07:58
это код обработчика проверки
Eugene
@ElForastero
Jul 23 2016 07:59

возвращается 500, что естественно

Совсем не естественно.

adminko
@adminko
Jul 23 2016 08:01
вероятность что в доступах ошибка достаточно велика и допускается, но catch не заворачивает это дело а генерирует ошибку 500 с указанием сообщения что да доступы говно
в случае правильных доступов все ок, обрабатывать ajax 500 я могу но без подробностей, а хотелось бы получить сообщения от кода что именно не так
JhaoDa
@jhaoda
Jul 23 2016 08:05
@ElForastero нету, но можно добавить
Eugene
@ElForastero
Jul 23 2016 08:06
Если вылетает фиолет, значит либо на сервере произошел фатальный сбой, либо сервер намеренно вернул 500. В первом случае, косяк на сервере, ибо запрос что-то поломал. Во втором, можно смотреть заголовки. Но я не представляю себе api которая вернет фиолет в качестве ошибки авторизации.
@jhaoda Broadcasting Events - это оно?
Если нет, поделись пожалуйса ссылкой. Нужно бежать.
adminko
@adminko
Jul 23 2016 08:08
@jhaoda hi не подскажешь как отловить 500 ? для конкретного роута
JhaoDa
@jhaoda
Jul 23 2016 08:09
@ElForastero при чем тут броадкастинг?
Maxim
@Big-Shark
Jul 23 2016 08:13
@adminko и на каком шаге у тебя эксепшен падает? и почему ты его не можешь отловить?
adminko
@adminko
Jul 23 2016 08:15
ну код ты видишь, вроде бы должно все корректно сваливаться в exception где я получаю сообщение и передаю в json но на деле возвращается стандартный дебаг и 500 код
adminko
@adminko
Jul 23 2016 08:20
причем генерируется Swift_TransportException
в общем вопрос в том чтобы вместо 500 отдавать 200 с сообщением от класса с текстом ошибки
Dave
@aios
Jul 23 2016 08:42
@adminko тогда ты ломаешь REST
adminko
@adminko
Jul 23 2016 08:43
в моем случае о ресте речи не идет, есть форма проверки
Dave
@aios
Jul 23 2016 08:44
@adminko отдавай не Swift_TransportExeption
а какой нито YouOwnExeption
внутри сделай Response(200, $message)
в чем проблема?
adminko
@adminko
Jul 23 2016 08:45
проблема в том что catch все равно отдает 500 страницу с дебагом, а я хочу отдать json
Dave
@aios
Jul 23 2016 08:46
В основе то лежит всеравно HttpExeption
напиши свой и отдай свой статус - свой формат и свой месседж
с динго я так и делал - только он там все эксепшены в JSON сует.
Dave
@aios
Jul 23 2016 08:56
@adminko разобрался?
adminko
@adminko
Jul 23 2016 08:57
неа, поставил сообщение на 200 ок на 500 ошибка
у меня есть конкретный exception который возникает я его перехватываю. нафига мне создавать какойто свой?
Dave
@aios
Jul 23 2016 09:00
@adminko Swift_TransportExeption это всего лишь название. Туда можно засунуть абсолютно любой другой эксепшн, даже будь оно не ладно с логикой. Это не монолитная фигня "Есть такое и я хочу что бы там осталось такое" это можно менеджить как тебе душе угодно дабы получить ожидаемый результат.
@adminko но... Хозяин - барин.
Maxim
@Big-Shark
Jul 23 2016 10:15
@adminko Мдаа, выход из ситуации просто шикарный
@aios подразобрался с эксепшенами?
Dave
@aios
Jul 23 2016 10:15
@Big-Shark а что?) есть чутка)
Maxim
@Big-Shark
Jul 23 2016 10:16
@aios ну и хорошо, просто интересно)
Dave
@aios
Jul 23 2016 10:16
@Big-Shark раньше думал что это нечто такое! не объятное... а оказалось это просто эксепшены :worried:
Dave
@aios
Jul 23 2016 10:22
@Big-Shark слушай такие дегены сидят в Yii
@Big-Shark я чесслово офигел вчера
@Big-Shark надо от туда нормальных людей на ларку перетащить...
Maxim
@Big-Shark
Jul 23 2016 10:41
@aios это бесполезно)
Andrey
@DevAndreyL
Jul 23 2016 10:42
Кто может поделиться ссылкой где описывается валидация REST запросов?(Что и как возвращать?(JSON) или HTTP ошибку)?
Uladzislau Danilchyk
@danilchican
Jul 23 2016 10:42
@greabock спасибо, буду курить доку :-)
KarmaBot
@KarmaBot
Jul 23 2016 10:42
Спасибо (+1) для @greabock принято! Текущая карма +410.
Andrey
@DevAndreyL
Jul 23 2016 10:44
Вдруг что, ошибки нужно возвращать в мобильное приложение
Uladzislau Danilchyk
@danilchican
Jul 23 2016 10:45
@adminko в json() можно же указать код, который ты вернешь, в чем проблема? верни, который тебе нужно и в ajax'е добавь error: {}
Andrey
@DevAndreyL
Jul 23 2016 10:47
@danilchican Если это ты мне, то как это можно сделать на уровне валидации форм?
Uladzislau Danilchyk
@danilchican
Jul 23 2016 10:48
@DevAndreyL если ты не заметил, то я указал, к кому обращаюсь) а по поводу твоего вопроса: гуглить пробовал?
Andrey
@DevAndreyL
Jul 23 2016 10:49
@danilchican Первым делом
Uladzislau Danilchyk
@danilchican
Jul 23 2016 10:49
This message was deleted
погугли rest validation error http code laravel
Uladzislau Danilchyk
@danilchican
Jul 23 2016 10:51
@DevAndreyL первая ссылочка от ларакастс
@greabock сахарок просто. :+1:
Andrey
@DevAndreyL
Jul 23 2016 10:53
@danilchican Спасибо
KarmaBot
@KarmaBot
Jul 23 2016 10:53
Спасибо (+1) для @danilchican принято! Текущая карма +12.
Maxim
@Big-Shark
Jul 23 2016 10:53
@DevAndreyL единого формата нет, ну я вот допустим использую jsonapi.org
Uladzislau Danilchyk
@danilchican
Jul 23 2016 10:53
@DevAndreyL то?
Andrey
@DevAndreyL
Jul 23 2016 10:54
@danilchican Почти, но все равно спасибо)
KarmaBot
@KarmaBot
Jul 23 2016 10:54
Карма @danilchican не потревожена. Слишком часто её пошатывали.
Alexander
@Dualse
Jul 23 2016 12:35

@aios

@Big-Shark слушай такие дегены сидят в Yii

Почему такие выводы?

Dave
@aios
Jul 23 2016 12:35
@Dualse вчера схлестнулся с одним. типо завсегдатай. уперся что chroot лучше чем докер
@Dualse ему все говорят что докер это git для инфры - он нет это виртуализация. ему говорят учи мат часть - а он оскорблять в разнос.
неадекват короче
@Dualse ну вот я и сказал ему что бы сидел в своем гадюшнике и что на одно тело в сфере микросервисности меньше.
как то так.
Nuzsk
@Nuzsk
Jul 23 2016 12:37
@aios зря ты так
забыл чтоли, что все остальные ему говорили о его же неправоте?
Dave
@aios
Jul 23 2016 12:38
@Nuzsk я лично никого оскорблять не начал.
@Nuzsk и сразу ему сказал что он не прав.
Nuzsk
@Nuzsk
Jul 23 2016 12:39
@aios не про это речь )
Cyber Xucyc
@Cyber-host
Jul 23 2016 12:39
спамеры
Dave
@aios
Jul 23 2016 12:39
@Nuzsk а ты про то что "Все", а не он один. Я почему то думаю что он там не один такой.
Nuzsk
@Nuzsk
Jul 23 2016 12:39
@aios один
Dave
@aios
Jul 23 2016 12:40
@Nuzsk ок
luptidu
@luptidu
Jul 23 2016 12:45
К примеру у меня в одно методе контроллера используется контракт reponse, а в другом request. Как лучше передавать их в методы, передавать все через конструкт контроллера или же напрямую в метод?
Dave
@aios
Jul 23 2016 12:46
@luptidu а чем обуславливается этот выбор?
luptidu
@luptidu
Jul 23 2016 12:46
@aios какой выбор?
Dave
@aios
Jul 23 2016 12:47
@luptidu в конструктор или в метод.
@luptidu покажи отрывок
Cyber Xucyc
@Cyber-host
Jul 23 2016 12:49
@luptidu в метод кода будет поменьше)
Dave
@aios
Jul 23 2016 12:50
@Cyber-host если ему нужно не в одном методе. то лучше в конструктор
Cyber Xucyc
@Cyber-host
Jul 23 2016 12:50
@luptidu я думаю если синглтон то в метод лучше, если нет то в констракт
luptidu
@luptidu
Jul 23 2016 12:50
This message was deleted
Dave
@aios
Jul 23 2016 12:51
убери портянку на laravel.io
luptidu
@luptidu
Jul 23 2016 12:51
@Cyber-host а не лучше ли тогда вообще использовать фасады?
@aios не понял тебя
Cyber Xucyc
@Cyber-host
Jul 23 2016 12:51
@luptidu смотря в каком случае
Dave
@aios
Jul 23 2016 12:52
@luptidu засунь код в laravel.io/bin
и отредактируй сообщение
Cyber Xucyc
@Cyber-host
Jul 23 2016 12:52
такие строки в фреймворках $uploadsDir = $_SERVER['DOCUMENT_ROOT'] . '/public/uploads/'; меня всегда пугали
Dave
@aios
Jul 23 2016 12:53
@luptidu для того о чем говорит @Cyber-host есть Storage::disk
@luptidu а для Hasher - есть прекрасная замена Uuid
luptidu
@luptidu
Jul 23 2016 12:54
@aios http://laravel.io/bin/8KXlJ
окей исправлю, а хешер то зачем заменять?
Dave
@aios
Jul 23 2016 12:54
@luptidu насколько я помню hasher для другого используется - но это чисто мое субьективное
        if(!file_exists($uploadsDir . date('Y'))){
            mkdir($uploadsDir . date('Y'));
        }
        if(!file_exists($uploadsDir . date('Y') . '/' . date('m'))){
            mkdir($uploadsDir . date('Y') . '/' . date('m'));
        }
вот этот блок тоже можно Storage решить
короче иди переписывай и читай доку лучше
@luptidu завтра тебе понадобиться загрузку файла сделать еще и в другом месте и в другом контроллере
а потом в этом вором месте заменить директорию
сколько раз ты будешь бегать по этим кускам кода и заменять свои слеши
luptidu
@luptidu
Jul 23 2016 12:59
@aios окей, спасибо, я исправлю, еще вопрос который я задавал в начале "когда лучше использовать контракт в конструкторе, когда в методе, когда фасад".
Cyber Xucyc
@Cyber-host
Jul 23 2016 13:02
@luptidu речь идет о контроллере или просто класс?
luptidu
@luptidu
Jul 23 2016 13:02
@Cyber-host контроллер
Cyber Xucyc
@Cyber-host
Jul 23 2016 13:03
@luptidu в большинстве случаея я пихаю в экшны. На счет фасадов, использую при написание кастомных пакетов или при подключение не ларавел пакетов
Dave
@aios
Jul 23 2016 13:04
@luptidu ну если ты никогда не будешь заменять этот Response и будешь использовать ларовский
@luptidu тогда юзай прям в экшенах
luptidu
@luptidu
Jul 23 2016 13:07
@aios @Cyber-host спасибо
KarmaBot
@KarmaBot
Jul 23 2016 13:07
Спасибо (+1) для @aios принято! Текущая карма +189.
Спасибо (+1) для @Cyber-host принято! Текущая карма +4.
Queni
@Queni
Jul 23 2016 13:40
Всем привет, может кто помочь решить возникшие проблемы или помочь советом?
Nuzsk
@Nuzsk
Jul 23 2016 13:40
сюда пиши, зависит от вопроса
Queni
@Queni
Jul 23 2016 13:48
Как можно сделать из laravel систему наподобие OctoberCMS?
Nuzsk
@Nuzsk
Jul 23 2016 13:51
вопрос из серии "как писать cms"
Alexander
@Dualse
Jul 23 2016 13:52
@Queni Ну а в чем проблема использовать OctoberCMS?
Queni
@Queni
Jul 23 2016 13:54
@Dualse Разобраться в laravel хочу
Пытался свой пакет в vendor написать но при установке кучу ошибок сыпет
Максат
@maqsat
Jul 23 2016 14:07
Здравствуйте, как можно вызвать метод моделя внутри view?
KarmaBot
@KarmaBot
Jul 23 2016 14:07
Hello, @maqsat!
Dave
@aios
Jul 23 2016 14:07
@maqsat это противоречит парадигме MVC
Alexander
@Dualse
Jul 23 2016 14:13
@Queni Ну если хочешь разобраться, то зачем сразу писать CMS? Это уже другой уровень, где нужен достаточно большой кругозор знаний
Dave
@aios
Jul 23 2016 14:15
@maqsat для какой цели то надо?
Queni
@Queni
Jul 23 2016 14:24
@Dualse вообще требуется написать lms, но хотелось сделать модульную систему чтобы туда же добавить cms и другие модули
Nuzsk
@Nuzsk
Jul 23 2016 14:24
@Queni ты слишком общие вопросы задаешь
Роман Сохарев
@greabock
Jul 23 2016 14:50

Пытался свой пакет в vendor написать но при установке кучу ошибок сыпет

Подозреваю, что твоих знаний пока не достаточно для написания сложной системы.
Начни с простого бложика, а там уж как пойдет.

Andrey
@DevAndreyL
Jul 23 2016 14:50

Создал FormRequest для валидации данных из формы.

use Illuminate\Contracts\Validation\Validator;

/**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|string:255',
            'email' => 'required|email|unique:users',
            'password' => 'required|string|min:6',
        ];
    }

    protected function failedValidation(Validator $validator)
    {
        return \Response::json($validator->getMessageBag()->all());
    }

Когда данные не проходят валидацию, вместо того, что бы вернуть JSON с ошибками валидации, мне возвращает Exception, о том, что такой Email существует(Duplicate entry ).

Я так понимаю, что JSON нужно возвращать из контроллера?
Роман Сохарев
@greabock
Jul 23 2016 14:53
@DevAndreyL выглядит так, будто ты не задействовал форм-реквест, прошел обычный реквест, потом ты пытаешься создать юзера и вот на этапе записи в базу он и сыплется, по constrain unique
Andrey
@DevAndreyL
Jul 23 2016 14:55
public function register(NewUserRegistration $request) {
        /** @var User $userCreate */
        $userCreate = User::create([
            'name' => $request->input('name'),
            'email' => $request->input('email'),
            'password' => bcrypt($request->input('password')),
            'access_token' => \Hash::make(str_random(60)),
        ]);
        if($userCreate) {
            return 'success';
        }

    }
@greabock Валидатор по какой то причине не обрабатывает запрос

Но, если убрать


    protected function failedValidation(Validator $validator)
    {
        return \Response::json($validator->getMessageBag()->all());
    }

То меня редиректит на предыдущую страницу. Но мне нужен JSON с ошибками

Palchik
@palchik1985
Jul 23 2016 15:35
А подскажите плз, как лучше реализовать (наверняка есть новые фишки, о которых я не знаю): Мне нужна модель из нескольких моделей. Грубо говоря есть 5 таблиц, из них собирается одна большая модель, которая передается во вьюху. Из вьюхи после редактирования, опять же приходит большая модель, после чего ее надо раскидать по многим моделям-табличкам. Есть какой-то стандартный функционал для подобного (про релейшены я знаю, но возможно есть что-то более под мой случай удобное) ?
Dave
@aios
Jul 23 2016 16:34
@palchik1985 ты можешь выделить поля которые есть в одну модель и расширять ее сколько угодно раз - однако это удобно когда у тебя 5 таблиц с такими же колонками общими. Редко такое встречал и решение так себе - но оно имеет право на существование - Релейшены лучше всего.
JhaoDa
@jhaoda
Jul 23 2016 17:48
@palchik1985 ну и напиши такой класс сам. Стандартного нету.
Роман Сохарев
@greabock
Jul 23 2016 17:54
@jhaoda а вот в доктрин можно :smile:
Alexander Zayka
@KlassT
Jul 23 2016 17:55
Есть расширение платёжное, которое работает с payanyway?
JhaoDa
@jhaoda
Jul 23 2016 17:55
@KlassT гугл ответит
Alexander Zayka
@KlassT
Jul 23 2016 17:56
@jhaoda гугл молчит
Роман Сохарев
@greabock
Jul 23 2016 17:56
значит нету, лол )
JhaoDa
@jhaoda
Jul 23 2016 17:56
@greabock разве? Там вложенный маппер есть, но он работает с полями этой же таблицы
@KlassT т.е. ты считаешь, что мы тут лучше гугла?
Alexander Zayka
@KlassT
Jul 23 2016 17:57
Хотя у них всё понятно в документации
JhaoDa
@jhaoda
Jul 23 2016 17:57
@KlassT ну так вперде!
Роман Сохарев
@greabock
Jul 23 2016 17:58
@jhaoda Ну а как иначе, они же наверняка связаны. Можно взять одну таблицу за основную, а остальные размапить как embed
JhaoDa
@jhaoda
Jul 23 2016 17:58
Вот я для Робокассы ничего не нашел приличного, так взял и написал сам
Роман Сохарев
@greabock
Jul 23 2016 17:58

ну так вперде!

как боженька смолвил )

JhaoDa
@jhaoda
Jul 23 2016 17:58
@greabock не, он только из этой же таблицы embed делать может
Роман Сохарев
@greabock
Jul 23 2016 17:59
Хм...
ну может и так
JhaoDa
@jhaoda
Jul 23 2016 18:00
И потом, что значит «Из вьюхи после редактирования, опять же приходит большая модель»?
Из «вьюхи», которая на самом деле запрос от браузера, как учит нас марксизм-ленинизм, приходит массив данных или json
Превратить это в stdClass, магия __get, __set, dot-нотация — готово
Роман Сохарев
@greabock
Jul 23 2016 18:02
Вообще, задача звучит как оторванная от реальности. Такие финты случаются, когда сам предметку плохо понимаешь
Есть 70% вероятность, что чуваку помогут массивы в формах =)
Nuzsk
@Nuzsk
Jul 23 2016 18:03

Грубо говоря есть 5 таблиц, из них собирается одна большая модель, которая передается во вьюху. Из вьюхи после редактирования, опять же приходит большая модель, после чего ее надо раскидать по многим моделям-табличкам.

AR модели .reduce => FormModel

и наоборот
JhaoDa
@jhaoda
Jul 23 2016 18:04
@Nuzsk FormModel?
Nuzsk
@Nuzsk
Jul 23 2016 18:04
@jhaoda или FormObject
Роман Сохарев
@greabock
Jul 23 2016 18:04
^ это их юишная ересь )
Nuzsk
@Nuzsk
Jul 23 2016 18:05
ну в js это FormObject-ом звалось бы
Роман Сохарев
@greabock
Jul 23 2016 18:05
На костер )
JhaoDa
@jhaoda
Jul 23 2016 18:05
Да я знаю, меня просто поражают порой оторванные от реальности советы
Nuzsk
@Nuzsk
Jul 23 2016 18:05
щито не так?
JhaoDa
@jhaoda
Jul 23 2016 18:06
Бывший юишник, а ныне фронтэндер, дает советы в чате по ларавель
У вас там с Владом общий подряд?:)
Nuzsk
@Nuzsk
Jul 23 2016 18:06
проблема совершенно типичная
JhaoDa
@jhaoda
Jul 23 2016 18:06
Хотя бывших юишников не бывает, да...
Роман Сохарев
@greabock
Jul 23 2016 18:06

проблема совершенно типичная

Да, и разруливается массивами в форме )

JhaoDa
@jhaoda
Jul 23 2016 18:06
Больше массивов богу массивов!
Nuzsk
@Nuzsk
Jul 23 2016 18:06
человек пытается из формы выдергивать данные не там же, где эти данные засовывал
Роман Сохарев
@greabock
Jul 23 2016 18:08

Такой трешняк развели... чувак вообще
1) не понял, что хочет,
2) не знал, как спросить
3) спорол, то что смог

а мы тут сверху того, уже своего накрутили :smile:

Nuzsk
@Nuzsk
Jul 23 2016 18:09
@greabock вообще он совершенно правильный вопрос задал, который даже ответ содержит
Мне нужна модель из нескольких моделей. Грубо говоря есть 5 таблиц, из них собирается одна большая модель, которая передается во вьюху.
модель из нескольких моделей
JhaoDa
@jhaoda
Jul 23 2016 18:10
А потом контроллер из нескольких контроллеров
Nuzsk
@Nuzsk
Jul 23 2016 18:11
@jhaoda ты за пределами ларавеля мира не видишь? )
JhaoDa
@jhaoda
Jul 23 2016 18:11
@Nuzsk там нет мира
Nuzsk
@Nuzsk
Jul 23 2016 18:11
и не поспоришь
Роман Сохарев
@greabock
Jul 23 2016 18:11

Мне нужна модель из нескольких моделей. Грубо говоря есть 5 таблиц, из них собирается одна большая модель, которая передается во вьюху.

вопрос: зачем? Почему туда не передать пять моделей?

JhaoDa
@jhaoda
Jul 23 2016 18:12
Спасутся все, уверовавшие в Тэйлора Всезнающего, а прочих ждёт вечный вордпресс!!!
Nuzsk
@Nuzsk
Jul 23 2016 18:12
@greabock потому что если требуется разом редактировать\сохранять пять моделей сразу - они скорее всего нетривиально связаны между собой и вообще - это уже форма
Роман Сохарев
@greabock
Jul 23 2016 18:16

имхо, это все притянуто за уши.
Я тебе говорю: "Есть тысяча и один способ не строить костыли и бегать голым по полям чтобы травка письку щекотала."
А ты мне в ответ: "Но я хочу костыли! И хочу слоняться по больничным коридорам от туалета до столовой."

слоняйтесь, кто ж вам на дороге встанет-то? :smile:

Nuzsk
@Nuzsk
Jul 23 2016 18:19
@greabock ты правда считаешь - что это нормально, разруливать такое массивами?
5 разных моделей разных типов в 1 массив, вместо того, чтобы просто сбилдить форму - которая сделает все сама
Роман Сохарев
@greabock
Jul 23 2016 18:24

а что сложного - то?

<input name="user[name]">
<input name="car[model]">

в контроллере просто

$user = new User($request->get('user'));
$car = new Car($requset->get('car'));

всяко проще, чем какие-то невнятные модели городить.

Nuzsk
@Nuzsk
Jul 23 2016 18:24
@greabock у таких форм практически всегда есть своя логика поверх совокупности моделей
Uladzislau Danilchyk
@danilchican
Jul 23 2016 18:24
@greabock да, ты вроде бы мне что-то подобное советовал с формами, это гуд решение)
Nuzsk
@Nuzsk
Jul 23 2016 18:25
ну и можно здорово офакапиться, если все сделать "в лоб"
Роман Сохарев
@greabock
Jul 23 2016 18:25

у таких форм практически всегда есть своя логика поверх совокупности моделей

для этого есть форм-реквесты.

Просто ты пытаешься декомпозировать инкапсулированную логику в одном объекте.
Nuzsk
@Nuzsk
Jul 23 2016 18:28

Просто ты пытаешься декомпозировать инкапсулированную логику в одном объекте.

можно расшифровать?

декомпозировать инкапсулированную логику
JhaoDa
@jhaoda
Jul 23 2016 18:30
У меня такой вот вопрос назрел. Есть ресурс, он редактируется, сохраняется PUT-запросом. В запросе только те поля, которые были изменены.
Хочется применить тот же валидатор, что и на создание, но там почти у всех полей правило required.
Как быть? Сделать ещё один форм реквест с таким же набором полей валидации, но без required? Или немного помагичить?
Nuzsk
@Nuzsk
Jul 23 2016 18:31
в yii магичат
JhaoDa
@jhaoda
Jul 23 2016 18:31
@Nuzsk как? Налету убирать required, если метод PUT? Была такая мысля, да
Nuzsk
@Nuzsk
Jul 23 2016 18:32
@jhaoda там некоторые правила валидации можно вырубать или врубать через указание сценария
Роман Сохарев
@greabock
Jul 23 2016 18:35
@Nuzsk ты пытаешься собрать в одном объекте логику, которая в нормализованном состоянии инкапсулируется в разных объектах объединенных композицией. SOLID, чтоб его.
Nuzsk
@Nuzsk
Jul 23 2016 18:35
@greabock понимаешь, форма это абстракция НАД этими объектами
по канону - форма вообще не должна знать о каких-то там AR моделях, она должна иметь только свои поля
Роман Сохарев
@greabock
Jul 23 2016 18:36
лол, а я о чем?
Просто ты рассказываешь о том, как организована генерация форм в yii
А я тебе говорю, что в ларе иной подход
и нету тут Форм-Моделей
Роман Сохарев
@greabock
Jul 23 2016 18:41
@jhaoda я бы все же сделал разные форм-реквесты.
JhaoDa
@jhaoda
Jul 23 2016 18:43
@greabock да притомило уже это. Два почти одинаковых реквеста, что-то забыл поправить, странные баги...
Nuzsk
@Nuzsk
Jul 23 2016 18:44
@greabock у вас кто отвечает за дефолтные поля (их значения), которые не относятся ни к одной из AR моделей, а общие для всей формы?
Роман Сохарев
@greabock
Jul 23 2016 18:45
@Nuzsk никто не отвечает )
в ларе нет генератора форм
Nuzsk
@Nuzsk
Jul 23 2016 18:45
@greabock мои опасения подтвердились :smile:
Роман Сохарев
@greabock
Jul 23 2016 18:55
@Nuzsk скажу тебе по секрету, на том единственном проекте, где я работал (да простит меня Тейлор) с Юи, форм-модели, которые активно насаждал наш юи-гуру доставляли только проблемы. Допускаю, что я не умею их готовить. Но мне они совсем не понравились. Так же меня напрочь убило разделение экшенов на отдельные классы, и прочая yii-специфика, которая только усиливала мою головную боль. Отсутствие инъекций в контроллерах, повсеместное использоваение сервис-локатора, и вездесущие конфиги (которые ниразу не декларативны, а очень даже императивны, в силу того, что нет такого поняти как сервис-провайдер). Еще раз говорю, допускаю, что я просто не умею это готовить. Но вот желания научиться точно нет.
Nuzsk
@Nuzsk
Jul 23 2016 18:57
@greabock со сложными формами без форммоделей работать крайне сложно и это не относится к yii
там одних дефолтных значений\состояний может десяток другой вычисляться
кто этим должен заниматься, как считаешь?
JhaoDa
@jhaoda
Jul 23 2016 18:59
Фронт этим должен заниматься
Nuzsk
@Nuzsk
Jul 23 2016 18:59
нет
если только это не SPA
Роман Сохарев
@greabock
Jul 23 2016 19:00
У меня есть по этому поводу скромное мнение: если твоя форма слишком сложная - ты явно что-то делаешь не так. Ты либо хреново понимаешь предметку, либо явно хочешь, чтобы пользователи прокляли кодера до десятого колена.
Nuzsk
@Nuzsk
Jul 23 2016 19:00
@greabock ну ты так половину бизнеса можешь закрыть
JhaoDa
@jhaoda
Jul 23 2016 19:01
Половина бизнеса не заморачивается сложностью :)
И херачит монструозные формы/приложения/etc
Роман Сохарев
@greabock
Jul 23 2016 19:01
@Nuzsk половина проектов не взлетает именно по второй причине
хотя по первой, они даже до релиза не доходят
Nuzsk
@Nuzsk
Jul 23 2016 19:02
@greabock практически все проекты, обслуживающие интересы бизнеса - содержат адское количество весьма непростых форм
я сейчас в пример SAP приведу, уж прости
JhaoDa
@jhaoda
Jul 23 2016 19:04
Я за последние 2 года делал три достаточно сложных проекта со сложными формами. Везде это решалось фронтом, который в итоге принимал/отправлял json. И нет, никакого SPA.
Роман Сохарев
@greabock
Jul 23 2016 19:06
@jhaoda ты что, как так можно, а вдруг там ie6 или js отключен? Ужос... :smile:
Nuzsk
@Nuzsk
Jul 23 2016 19:07
@jhaoda те. формы вовсе не рендерились на стороне php, так?
JhaoDa
@jhaoda
Jul 23 2016 19:08
@Nuzsk частично могли рендериться, а дальше какой-нибудь ангуляр эту форму менял по потребностям
Nuzsk
@Nuzsk
Jul 23 2016 19:10
@jhaoda не самая удобная схема казалось бы, мне ближе или все максимально на стороне php делать или целиком на стороне клиента
Роман Сохарев
@greabock
Jul 23 2016 19:14
ой, надоели вы мне
JhaoDa
@jhaoda
Jul 23 2016 19:14
@Nuzsk поэтому последние два проекта вообще нет вьюх в общепринятом смысле, всё на БЭМ
И что там и как делается — не моя печаль
Nuzsk
@Nuzsk
Jul 23 2016 19:20
@jhaoda а целиком в сторону SPA не думал перейти?
мне понравилось, здорово скорость разработки подскочила
JhaoDa
@jhaoda
Jul 23 2016 19:25
@Nuzsk и поиметь проблем с индексацией и сео?
Роман Сохарев
@greabock
Jul 23 2016 19:26
@Nuzsk зачем? Есть же фронтендер. Пусть там сам ешает, что ему надо. SPA или вьюхи )
Nuzsk
@Nuzsk
Jul 23 2016 19:26
@jhaoda phantomjs\fatboot\react
Роман Сохарев
@greabock
Jul 23 2016 19:27
@Nuzsk тогда уж проще вообще на ноду или метеор слезти
Nuzsk
@Nuzsk
Jul 23 2016 19:27
@greabock не, бекенд на js это фэ, а метеор - сплошной маркетинг
@greabock но вот SPA на нормальном фреймворке это намного приятнее, чем серединка наполовинку с php, не приходится тратить время на переключение контекста
Роман Сохарев
@greabock
Jul 23 2016 19:29
Дык с bem тебе тоже не приходится переключаться
Ты в любом случае плюёшься json'ом
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 19:30
@Nuzsk ну спасибо...
KarmaBot
@KarmaBot
Jul 23 2016 19:31
Спасибо (+1) для @Nuzsk принято! Текущая карма +106.
Nuzsk
@Nuzsk
Jul 23 2016 19:32
@greabock как bem поможет установить форму\интерфейс в один из стейтов в зависимости от url и своевременно обновлять его?
@SerafimArts нодой балуешься? :smile:
JhaoDa
@jhaoda
Jul 23 2016 19:33
@Nuzsk БЭМ это стек технологий, там очень много js, так что считай это фреймворком
Nuzsk
@Nuzsk
Jul 23 2016 19:34
@jhaoda ок, поверю наслово, так как мало об нем знаю. но пока все равно сомневаюсь, что оно может хотя бы близко по удобству подойти к нормальному клиент сайд роутингу
JhaoDa
@jhaoda
Jul 23 2016 19:34
@Nuzsk это не моя забота, как я уже говорил
Роман Сохарев
@greabock
Jul 23 2016 19:38
@Nuzsk ты не понял, bem помогает
1) полностью отделить фронт от бэка (они буквально могут находиться на разных серверах), вне зависимости от контекста (спа или статика)
2) Переиспользовать ранее подготовленные компоненты
3) И не терять возможность управлять состоянием статичных страниц с бэкэнда, не смотря на то, что они с фронтом разделены.
Короче, сплошная декларативщина получается
Nuzsk
@Nuzsk
Jul 23 2016 19:40
@greabock пример не скинешь на гите? хочу посмотреть на это
Роман Сохарев
@greabock
Jul 23 2016 19:42
это вряд ли... @jhaoda что там c NDA? =)
Был разговор по завершению проекта, расшарить весь этот стек. Но это еще полгода минимум )
JhaoDa
@jhaoda
Jul 23 2016 19:43
@greabock ну мы будем готовить пример работы, ага. Сроки примерно такие
@Nuzsk гугл тебе поможет, я полагаю
Максим
@maxyc
Jul 23 2016 19:45
подскажите. рестапи стоит рассматривать стандартными средствами фреймворка или есть какие то решения?
Dave
@aios
Jul 23 2016 19:45
@maxyc Infyom, DingoApi, Laraver-Responder
выбирай
Максим
@maxyc
Jul 23 2016 19:45
спарк там был какой то еще)
Спасибо @aios
KarmaBot
@KarmaBot
Jul 23 2016 19:46
Спасибо (+1) для @aios принято! Текущая карма +191.
Dave
@aios
Jul 23 2016 19:46
@greabock что то вот я с vue js - могу делать тоже самое что ты сейчас назвал в 3 пунктах и по помоему в два раза быстрее без заморочек _ количеством этих черточек
JhaoDa
@jhaoda
Jul 23 2016 19:48
@aios ещё один...
Нету в БЭм никаких черточек, ребята.
Dave
@aios
Jul 23 2016 19:49
@jhaoda я может чего не понимаю, мне конечно дико плевать что это методология Яндекса. Однако я смотрел как у этого бема классы называют...
JhaoDa
@jhaoda
Jul 23 2016 19:49
Т.е. они есть, но разработчик их не видит
Nuzsk
@Nuzsk
Jul 23 2016 19:50
@jhaoda я посмотрел, это годный пример бем копонента ?:
https://github.com/narqo/bem-game-go/blob/master/blocks/board/board.js
Максим
@maxyc
Jul 23 2016 19:50
это не черточки) это символы разделители
JhaoDa
@jhaoda
Jul 23 2016 19:51
@Nuzsk откуда я знаю-то?
Nuzsk
@Nuzsk
Jul 23 2016 19:51
@jhaoda посмотришь и узнаешь, пишешь же на нем и наверняка отличишь говно от правильного использования
JhaoDa
@jhaoda
Jul 23 2016 19:51
@Nuzsk я уже три раза сегодня сказал — фронт это не моя задача
Я не касаюсь фронта
Nuzsk
@Nuzsk
Jul 23 2016 19:52
@jhaoda ну тогда не понимаю, что ты мне за бем рассказываешь
ты либо его знаешь либо нет
ладно, предлагаю закрыть эту тему, раз годных примеров нет
JhaoDa
@jhaoda
Jul 23 2016 19:53
@Nuzsk надо просто читать и осмысливать, что тебе пишут, а не с первой буквы возражения придумывать :)
Nuzsk
@Nuzsk
Jul 23 2016 19:54
@jhaoda я очень внимательно тебя читаю )
Mikail Aziev
@aziev
Jul 23 2016 19:56
терпеть не могу бэм. всем спасибо за внимание
JhaoDa
@jhaoda
Jul 23 2016 19:57
@aziev полагаю, что ты тоже не понимаешь, что такое БЭМ :)
Nuzsk
@Nuzsk
Jul 23 2016 19:58
то, что хвалят - даже не пробовав :smile:
JhaoDa
@jhaoda
Jul 23 2016 19:58
Кто хвалит? Я ничего не хвалил
Nuzsk
@Nuzsk
Jul 23 2016 19:59
@Nuzsk поэтому последние два проекта вообще нет вьюх в общепринятом смысле, всё на БЭМ
JhaoDa
@jhaoda
Jul 23 2016 20:00
@Nuzsk и что? Это не моё решение.
Nuzsk
@Nuzsk
Jul 23 2016 20:00
@jhaoda а, ок, вопросы снимаются. написано так - будто твое
JhaoDa
@jhaoda
Jul 23 2016 20:00
Я лишь говорю, что у меня теперь нет проблем с вьюхами, это строго фронтовая задача
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 20:02
@maxyc можешь стать испытателем: https://github.com/SerafimArts/BlueprintCrud
Роман Сохарев
@greabock
Jul 23 2016 20:35
@SerafimArts что-то свалка какая-то https://github.com/SerafimArts/BlueprintCrud/tree/master/src/Http/Filters
это вообще какой-то апендикс ) https://github.com/SerafimArts/BlueprintCrud/blob/master/src/Http/Filters/CreateRequest.php
Че он пустой-то =)
@SerafimArts https://github.com/SerafimArts/BlueprintCrud/blob/master/src/Http/Middleware/JsonResponseMiddleware.php#L45-L65
Правильно, в жопу логи, кому они нужны вообще :smile:
Роман Сохарев
@greabock
Jul 23 2016 20:41
А так норм вроде
Я правда не совсем понимаю, почему именно такой формат json выбран
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 21:05
@greabock ну блин, аппендикс нужен для консистентности
и для того, чтобы в перпективе можно было патчить не ломая обратной совместимости
кстати да, логи ...
мде
надо поправить
какой именно формат? Что с ним не так?
Вроде есть всё, что надо по минимуму
Nuzsk
@Nuzsk
Jul 23 2016 21:10
@SerafimArts это что-то вроде json-api или? читал readme, не совсем понял
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 21:11
да, тупо фулл круд
Роман Сохарев
@greabock
Jul 23 2016 21:16
@SerafimArts ну что за id во-первых? Непонятно.
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 21:16
id Ответа
Роман Сохарев
@greabock
Jul 23 2016 21:17
А нафига оно в ридми-то =)
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 21:17
там написано, что указывая в реквесте id в респонзе будет указан он же
для многопотчного и асинхронного использования
что бы определять какому реквесту какой респонз
Роман Сохарев
@greabock
Jul 23 2016 21:17
я понял
А почему не взял за основу jsonapi?
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 21:18
он слишком узкоспециализированный
можешь заменить миддлварю на jsonapi если тебе надо
=)
в конфигах это можно сделать
Роман Сохарев
@greabock
Jul 23 2016 21:20
ой, ой, ну молодец, молодец =)
Так-то норм. Я чет просто хз, насколько это полезно всё
Kirill Nesmeyanov
@SerafimArts
Jul 23 2016 21:23
ну хз, чтоб руками не писать всё это
Nuzsk
@Nuzsk
Jul 23 2016 21:26
рест сервера же есть
хотя они только для ar годятся наверное
Роман Сохарев
@greabock
Jul 23 2016 21:33
@jhaoda пинг
JhaoDa
@jhaoda
Jul 23 2016 21:36
@greabock ась?
Роман Сохарев
@greabock
Jul 23 2016 21:37
@jhaoda да я тут либу Кирюши посмотрел и она меня на мысль навела
ты спрашивал, как быть с форм-реквестами
JhaoDa
@jhaoda
Jul 23 2016 21:37
@greabock голосом?
Роман Сохарев
@greabock
Jul 23 2016 21:37
ну можно