These are chat archives for LaravelRUS/chat

11th
Apr 2017
captain-vimes
@captain-vimes
Apr 11 2017 05:37
Всем привет. Немного глуповатый вопрос. Я создаю задачу в очереди, которая отправляет сообщение пользователю. Конструктор класса задачи принимает модель и интерфейс Sms. Как мне в таком случае в контроллере создать объект этого класса, чтобы зависимости с сервис-провайдера подтянулись?
public function __construct(UserNotify $user_notify, Sms $sms)
    {
        $this->user_notify = $user_notify;
        $this->sms = $sms;
    }
KarmaBot
@KarmaBot
Apr 11 2017 05:37
Приветствую тебя, @umertasov!
captain-vimes
@captain-vimes
Apr 11 2017 05:49
Вопрос отпал. Просто нужно было вызывать make через фасад.
Andrei Sosnov
@atehnix
Apr 11 2017 06:00
@captain-vimes если требуется Sms подтягивать из контейнера - не передавай его в конструктор. Укажи его интерфейс в handle():
public function handle(Sms $sms) {...}, зависимость подтянется автоматом при исполнении задачи.
captain-vimes
@captain-vimes
Apr 11 2017 06:02
@atehnix то что нужно, спасибо
KarmaBot
@KarmaBot
Apr 11 2017 06:02
Спасибо (+1) для @atehnix принято! Текущая карма +214.
Dmitry Konurov
@dkonurov
Apr 11 2017 06:57
Доброе утро
Soprun Vladislav
@vlsoprun
Apr 11 2017 07:23
Здорова мужики :hand:
JesterAntik
@JesterAntik
Apr 11 2017 07:35
@captain-vimes надо учесть. что класс задачи сериализуется и так хранится до момента выполнения. А свойства класса, которые не указаны явно, не попадают под сериализацию. Если надо что-то сохранить из конструктора, то объявите сначала переменную в классе: protected $user;
JhaoDa
@jhaoda
Apr 11 2017 07:38
@JesterAntik почему ты решил, что он её не объявил?
JesterAntik
@JesterAntik
Apr 11 2017 07:43
@jhaoda предположил =) Из собственного опыта
Anton Vorontsov
@symbios-zi
Apr 11 2017 07:50
всем привет!
KarmaBot
@KarmaBot
Apr 11 2017 07:50
@symbios-zi, ну рассказывай. Как жизнь? :)
Soprun Vladislav
@vlsoprun
Apr 11 2017 07:50
@symbios-zi :hand:
JesterAntik
@JesterAntik
Apr 11 2017 07:52
Пытаюсь разобраться с тестами. Может вопрос немного не про лару, но все же. Есть контроллер, которые возвращает JSON. Пишу тест, который должен проверять структуру возвращаемого JSON.
Пример JSON: https://paste.laravel.io/NRwrW
Тест: https://paste.laravel.io/PywnM
Тест повторяет полностью структуру, но выдает ошибку на третьем вложении массивов ($answers), хотя если посмотреть на возвращаемый JSON, то поля есть.
KarmaBot
@KarmaBot
Apr 11 2017 07:52
@JesterAntik, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
JhaoDa
@jhaoda
Apr 11 2017 07:57
@JesterAntik в тесте "inqueries": [ — wat?
JesterAntik
@JesterAntik
Apr 11 2017 08:01
@jhaoda если про закрытый тэг, то с этим все нормально. Упрощал структуру для примера, мог где-то упустить закрытие скобки. На самом деле, структура больше
JhaoDa
@jhaoda
Apr 11 2017 08:01
@JesterAntik с каких пор в РНР используется : в массивах?
JesterAntik
@JesterAntik
Apr 11 2017 08:02
в тесте с этим норм
Дмитрий Мязин
@d4c0
Apr 11 2017 08:03
Быть того не может, ну просто никак)
JesterAntik
@JesterAntik
Apr 11 2017 08:03
если бы там были опечатки, то была бы ошибка PHP, а так именно fail теста
Дмитрий Мязин
@d4c0
Apr 11 2017 08:03
Т.е. ты утверждаешь, что в PHP значение ключу массива присваивается через :, и будешь на этом настаивать?
JhaoDa
@jhaoda
Apr 11 2017 08:03
@JesterAntik ты щас серьёзно?
JesterAntik
@JesterAntik
Apr 11 2017 08:04
@d4c0 нет, ребята. Говорю же опечатка при формировании примера
JhaoDa
@jhaoda
Apr 11 2017 08:04
@JesterAntik т.е. ты пример руками писал, а не копировал?
JesterAntik
@JesterAntik
Apr 11 2017 08:04
да
JhaoDa
@jhaoda
Apr 11 2017 08:04
@JesterAntik очень плохо
Andrei Sosnov
@atehnix
Apr 11 2017 08:05
@JesterAntik и хочешь чтобы тебе помогли найти в нем ошибку?)
JhaoDa
@jhaoda
Apr 11 2017 08:06
В представленном на анализ коде мною найдено 7 ошибок. Автор утверждает, что это не те ошибки. Но какие «те» — говорить отказывается
JhaoDa
@jhaoda
Apr 11 2017 08:06
«Фиговые ошибки, вы, говорит, нашли, мне они не нравятся, ищите другие»
JesterAntik
@JesterAntik
Apr 11 2017 08:11
теперь есть предположения?
Andrei Sosnov
@atehnix
Apr 11 2017 08:13

@JesterAntik

выдает ошибку на третьем вложении массивов ($answers)

А в тесте у тебя в answers не вставлен $answer.

Или опять "опечатка при формировании примера"?)
JesterAntik
@JesterAntik
Apr 11 2017 08:16
нет, в таком варианте тест проходит. В случае добавления туда любого поля, либо целого массива выпадает Fail
мне показать все варианты, которые я перепробовал?
Andrei Sosnov
@atehnix
Apr 11 2017 08:19
Елки ж палки...
Т.е. на этот раз ты привел вариант, который не выдает ошибок, но нам об этом решил не говорить, чтобы мы продолжали искать в нем ошибки? ))
captain-vimes
@captain-vimes
Apr 11 2017 08:20
@JesterAntik спасибо, это я учел. Но вот другой вопрос.
KarmaBot
@KarmaBot
Apr 11 2017 08:20
Спасибо (+1) для @JesterAntik принято! Текущая карма +6.
captain-vimes
@captain-vimes
Apr 11 2017 08:23
Задача добавляется в очередь, worker сообщает об успешном выполнении, но метод handle не отрабатывает. Какие могут быть причины?
public function handle()
    {
        Notify::create([
            'message' => 'test'
        ]);
JesterAntik
@JesterAntik
Apr 11 2017 08:24
понял, вникать в текст вопроса никто не хочет. Возможно все заняты, тогда не буду никого отвлека
D3-FC
@D3-FC
Apr 11 2017 09:00
Привет всем
KarmaBot
@KarmaBot
Apr 11 2017 09:00
@D3-FC, привет, как настроение?
Andrei Sosnov
@atehnix
Apr 11 2017 09:09
@D3-FC небольшой лайфхак:
экспериментировать с форматированием сообщений можно в личке с @KarmaBot ;) Он не против, я спрашивал..)
D3-FC
@D3-FC
Apr 11 2017 09:17
@atehnix окей :D
@atehnix вообще задавал вопрос. но пока форматировал сам увидел ошибку в хедерах
Andrei Sosnov
@atehnix
Apr 11 2017 09:47
@JesterAntik ну так ты за все время так ни разу и не показал ни текст ошибки из логов, ни код, при котором она реально проявляется.
Естественно, ни у кого нет желания тратить время на гадание, какую именно ошибку ты хочешь решить)
Eldar
@MyZik
Apr 11 2017 10:25
Ребят! Имеется три select`а: d_birth, m_birth, y_birth - день, месяц и год рождения соответственно.
Как можно реализовать валидацию так, если выбран месяц февраль, количество дней в нём не должно превышать 29?
Ваня Devium
@webdevium
Apr 11 2017 10:25
@MyZik в чем проблема?
у тебя есть strtotime
впихнул в него дату, потом опять форматнул в дату и сравнил просто с конкатенацией этих параметров
если срослось - значит у тебя правильные дни в месяце
Andrei Sosnov
@atehnix
Apr 11 2017 10:34
@MyZik просто интересно, а почему бы не хранить дату одним полем? ;) Меньше телодвижений, всегда валидна и т.д.
Задачи, конечно, разные бывают, но мне почему-то сейчас не приходит в глову ситуация, когда такое могло бы понадобиться, потому и спрашиваю)
Аа.. дошло. )) Речь про данные из <select> с фронта) Фига меня штырит :)
Ваня Devium
@webdevium
Apr 11 2017 10:40
Андрюха, хватит курить посреди дня)))
Andrei Sosnov
@atehnix
Apr 11 2017 10:43
@webdevium да я просто с этими апишками уже настолько отвык от фронта, что select стал в первую очередь ассоциироваться с SQL.. =)
Viktor
@RespectPick
Apr 11 2017 12:42
если в приложении подразумевается версионность (light, middle, vip версии) , то для этого нужны сервис провайдеры ?
Джангар
@Dzhangar1980
Apr 11 2017 12:43
стесняюсь спросить: а нафига?
Ваня Devium
@webdevium
Apr 11 2017 12:44
Версионность приложения... Это как дыра в контексте ведра и метро.
zhelinskyy
@zhelinskyy
Apr 11 2017 14:24
привет всем
KarmaBot
@KarmaBot
Apr 11 2017 14:24
Будь как дома, @zhelinskyy, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
zhelinskyy
@zhelinskyy
Apr 11 2017 14:25
граждани программисты нужен чатик на ларке
кто что хорошее подскажет
zhelinskyy
@zhelinskyy
Apr 11 2017 14:42
псс
что затихли
zhelinskyy
@zhelinskyy
Apr 11 2017 14:43
круто спасибо
KarmaBot
@KarmaBot
Apr 11 2017 14:43
@zhelinskyy, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
zhelinskyy
@zhelinskyy
Apr 11 2017 14:43
@atehnix спасибо)
KarmaBot
@KarmaBot
Apr 11 2017 14:43
Спасибо (+1) для @atehnix принято! Текущая карма +215.
PhpNet
@PhpNet
Apr 11 2017 15:36

Хм. Чет я под вечер туплю. есть таблица с полем coupon_code (varchar). Есть модель, в модели
$casts = ['coupon_code'=>'string'];

Пытаюсь сделать что то вроде
dd(Model::whereCouponCode($code)->get()->exists);
но к строке автоматом не приводится, запрос выглядит как
select * from customers_coupons where coupon_code = FOO-CODE

в доке ничего не увидел. где тупанул?

PhpNet
@PhpNet
Apr 11 2017 15:57
Хм. Пока вопрос не актуален, оказалось это бага PDO на таблицах с json-полями. Будем гуглить...
NoViKoFF
@AndrewNovikof
Apr 11 2017 16:25
Всем трям
/**
     * Get the mail representation of the notification.
     *
     * @param  mixed $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        return (new MailMessage)
            ->greeting('Информация о заказе')
            ->subject('Новый заказ')
            ->success()
            ->line('Номер заказа: ' . $this->transaction->id)
            ->line(
                $this->transaction->cards->map(function (Card $card) {
                    return 'Номер карты, присвоенный клиенту: ' . $card->value . '<br>';
                })
            );
    }
JhaoDa
@jhaoda
Apr 11 2017 16:26
@AndrewNovikof ииии?
NoViKoFF
@AndrewNovikof
Apr 11 2017 16:27
вопрос к тем кто юзает новые нотификейшены. Как подружить лайны и несколько элементов в коллекции?
Возможно вопрос некорректен..
Вобщем в заказе может быть несколько карт. Как их адекватно вывести через line
JhaoDa
@jhaoda
Apr 11 2017 16:30
@AndrewNovikof юзать line в цикле
NoViKoFF
@AndrewNovikof
Apr 11 2017 16:32
@jhaoda спасибо)
KarmaBot
@KarmaBot
Apr 11 2017 16:32
Спасибо (+1) для @jhaoda принято! Текущая карма +1493.
Sergey Titov
@Nuboskill_twitter
Apr 11 2017 19:34
Вечер добрый, господа! Хочу сделать модель Settings, в которой будут различные настройки, например, номер телефона, выводимый на страницах сайта и т.д. И тут вопрос назрел, а как это лучше реализовать? Может кто статейку подкинуть? Чтобы удобно было работать с моделью мне для каждой настройки надо делать колонку в бд, что как то такое себе, кто как из этой ситуации выходил?
KarmaBot
@KarmaBot
Apr 11 2017 19:34
@Nuboskill_twitter даров!
Dave
@aios
Apr 11 2017 19:36
@Nuboskill_twitter setting -> value
Setting::where('setting', value)->first()
а дальше сам
Sergey Titov
@Nuboskill_twitter
Apr 11 2017 19:36
@Dave понял, спасибо
KarmaBot
@KarmaBot
Apr 11 2017 19:36
@Nuboskill_twitter, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Sergey Titov
@Nuboskill_twitter
Apr 11 2017 19:37
@aios спасибо
KarmaBot
@KarmaBot
Apr 11 2017 19:37
Спасибо (+1) для @aios принято! Текущая карма +337.
Sergey Titov
@Nuboskill_twitter
Apr 11 2017 19:37
:)
Oleg Arkhipov
@Oleg-Arkhipov
Apr 11 2017 21:31
http://stackoverflow.com/questions/31453570/laravel-5-repository-inside-service-provider
Кто подскажет, ответ принятый на этот вопрос справедлив сейчас? А именно первые 5 строчек, дальше не важно.
В плане того, что сервис провайдеры предназначены только для регистрации байндингов в сервис-контейнер и не для "real stuff".
Потому что я вроде как видел различные примеры обратного (в методе boot())
JhaoDa
@jhaoda
Apr 11 2017 21:46
@Oleg-Arkhipov ссылку разверни. А потом прочитай в правилах, что надо заворачивать, а что нет
А, блин, время...
@Oleg-Arkhipov ну один хрен прочитай
@Oleg-Arkhipov касаемо сути вопроса — а что должно было измениться в отношении провайдеров?
Oleg Arkhipov
@Oleg-Arkhipov
Apr 11 2017 22:06
@jhaoda > Потому что я вроде как видел различные примеры обратного (в методе boot())
Например те же регистрации роутов
И не только
Что уже не подходит под "только байндинги в контейнер"
Oleg Arkhipov
@Oleg-Arkhipov
Apr 11 2017 22:12
Да и тот же пример из самого вопроса - с Form::macro- почему не подходит для регистрации в сервис-провайдере? Честно не понимаю.
NeuroZ
@neuroz
Apr 11 2017 22:18
Ребят, а есть кто-нибудь кто Propel использует?
чем он по факту лучше? Просто читал, что некоторые с Eloquent на него переходят
JhaoDa
@jhaoda
Apr 11 2017 22:18
@Oleg-Arkhipov потому что надо доку читать вместо непонятных ответов на стэке. А в доке сказано: провайдеры нужны для инициализации приложения, а не одного только бандинга
Так что и роуты, и макросы сюда очень к месту. В провайдерах не должно быть бизнес-логики
NeuroZ
@neuroz
Apr 11 2017 22:19
@jhaoda да что ж такое)))
Oleg Arkhipov
@Oleg-Arkhipov
Apr 11 2017 22:19
@jhaoda я давным-давно ознакомился с этой докой. В т.ч. ей этот ответ на мой взгляд противоречит, поэтому я и задал свой вопрос. Я не говорил нигде, что ответ на SO считаю истиной сразу
@jhaoda окей, спасибо за ответ.
JhaoDa
@jhaoda
Apr 11 2017 22:20
@neuroz очень простое — этот чат для вопросов по ларавел, а не шторма и пропела
@Oleg-Arkhipov а правила прочитал?
Oleg Arkhipov
@Oleg-Arkhipov
Apr 11 2017 22:24
@jhaoda да, я понял, насчёт ссылок забыл просто делать эту.