These are chat archives for LaravelRUS/chat

8th
Nov 2016
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 00:02
@entermix это тащемта результат сборки
тебе уже дали ответ =)
cfg dsfgd f df
@entermix
Nov 08 2016 00:03
@SerafimArts ну я понимаю, однако в файле app.js я же подключаю bootstrap, т.е. он же должен импортировать его?
John
@jdk2se
Nov 08 2016 00:03
ну это же не es6?
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 00:03
@entermix в зависимости от типа подключения
cfg dsfgd f df
@entermix
Nov 08 2016 00:04
@SerafimArts в файл resouces/assets/js/app.js
require('./bootstrap'); // Так не должно?
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 00:04
в зависимости от типа подключения
я же написал
cfg dsfgd f df
@entermix
Nov 08 2016 00:05
@SerafimArts не совсем понимаю, о каком типе подключения идет речь?
John
@jdk2se
Nov 08 2016 00:05
@entermix мне кажется проще ещё 1 файл в gulpfile дописать.
cfg dsfgd f df
@entermix
Nov 08 2016 00:05
@jdk2se может и проще, я просто пытаюсь понять как это работает :)
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 00:06
@entermix commonjs, systemjs, umd, amd, requrejs, что ты используешь?
это либа для реквайра, а теперь ещё пойми как ты используешь её врезку в язык
можно через натив, как ты, но можно через import через es6+
cfg dsfgd f df
@entermix
Nov 08 2016 00:07
@SerafimArts то, что по умолчанию в Laravel 5.3, т.е. ничего стороннего я не подключал, установил Laravel, сделал nmp install
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 03:03
Котаны, цените что нафигачил по быстрому за день (сегодня на больничном) https://github.com/SerafimArts/LaraDoc Полезная штука, что добавить, что убрать?
KarmaBot
@KarmaBot
Nov 08 2016 03:03
@SerafimArts, а не поехать ли тебе в Пензу с котанами?
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 03:04
@KarmaBot ок, уехал =(
KarmaBot
@KarmaBot
Nov 08 2016 03:04
@SerafimArts, а не приехать ли тебе обратно с котанами?
Dave
@aios
Nov 08 2016 03:22
@SerafimArts чет я не догоню фишки)
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 03:40
@aios ну что-то вроде MDN Kuma
только на пыхе, а не питоне
Vladimir Studenikin
@enjame
Nov 08 2016 04:45
This message was deleted
KarmaBot
@KarmaBot
Nov 08 2016 04:45
О! @enjame! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
@enjame, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Vladimir Studenikin
@enjame
Nov 08 2016 04:47

blob

Привет, ребята, есть вопрос, имеется ORM запрос, следующего вида:

            ```$objAllObject             = Object::whereIn('category_id', $listCategoryId)->with(array('coordinate', 'category', 'objects_attr_value' => function($query) {
                    return $query->join('objects_attrs', 'objects_attr_values.attr_id', 'objects_attrs.id');
            }))->get();```

Массив указан на картинке, прикрепленной сверху
Как сделать без перебора массива ключи ассоциативными в "objects_attr_value"(сейчас там обычные индексы), с именем "machine_name", которое я получаю в join`е, заранее спасибо

Anton Kartsev
@bigperson
Nov 08 2016 05:02
@SerafimArts выздоравливай) в качестве пакета бы, чтоб к своему проекту можно было бы прикрутить и ограничить права на чтение ряду пользователей, ну и плюс интегрировать в свою админку
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:08
@bigperson в свою админку?
а, понял
так не получится, т.к. это всё же проект
т.е. что-то вроде википедии, но спешал фор девелоперс
вместо вики - маркдаун
плюс глобальное версионирование (проекта), а не локальное (одного файла)
Anton Kartsev
@bigperson
Nov 08 2016 05:12
@SerafimArts я понял, вот пример пакета тикет системы пол ларку которая интегрируется почти в любой проект https://github.com/thekordy/ticketit
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:16
это слишком легковесный проект =)
Роман
@i-coder
Nov 08 2016 05:28

@i-coder
ВСЕМ ПРИВЕТ!
Ребят не знаю куда обратиться но один очень плохо программист и взял все файлы закодировал пример ниже (( как быть???? народ выручайте плиззз грубо говоря взял и кинул всех нас с проектом да еще и закодировал файлы

HR+cPvpFKIMwdgeAAGF41kedbSoPIFge8z9fzvlIehxo97LP++TBrKGfkvhfzTXrAcBtCs6QCWTU
CLs/XuNP2E2pI66sso1k4AAEkvSZ/6842uJZr8xJJUe+iHou/bpvbPdkVt0ujlG9iOv/HkFODB7C
dCxtQc3VS8gfNdCH8SaiXTSCgSwlouKCkqxE+ud2rsJvmj521X9jSCnrsOTDGa1c6WO6LE/NORsj
Z8rA2dTqh2+QQg+hnv3S2FHhV9jO4bimeJBNeT6jN1XXYsQF3CF1fU7m5ys7k/aZtUiE61q6pbvR
p5NihfIP6Fmlv/DzRdpBu+DwFZkvg9AX7aimIZS8cNwdW8VUepUNEsRgdbM8QnpO4GuTm2+Rvgvf
O1K4o47mQ0zVyjR8j5T+EpJwFqh/ntHS5DwiE8sBZhW1H5wTIb6fdie6riZmbiPX16ZZ29ENvoOM
1u02H7ZkuZkMyBz9ERMdjsf3zA858ujIcInu9jvyFSJWD3qqnjMU2b5w2ofexU4T1/II7MSvTWAn
вот что в файлах еще есть http://www.ioncube.com
вот прискрин кода http://joxi.ru/E2pWkkatBnDJ0m

Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:32
@i-coder это обычная компилция, для предоставления тестирования работы тем, кто желает получить результат, но может не заплатить
исходный код обычно поступает после оплаты
так что подозреваю, что это не "плохой программист"
Роман
@i-coder
Nov 08 2016 05:32
@SerafimArts он нас кинул
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:32
@i-coder он скажет иначе
проект, собственно, работать будет
только доделывать его не получится
Роман
@i-coder
Nov 08 2016 05:34
@SerafimArts я сам разработчик и нанимал его разработчиком в помощь нам но вся ветка удалена и залит эта ветка и главнео прикол в том что мы заплатили ему
@SerafimArts что бы еще связались с удаленным разработчиком
@SerafimArts там проблема в том что проект встал нам надо внести правки в этот файл - там три файла только в таком виде и все
@SerafimArts кто может за деньги декодировать? мы заплатим
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:35
@i-coder перед оплатой, ты, как разработчик, должен был проводить код ревью, ты это делал? =)
тогда у тебя в истории шторма есть исходный код, а так же в локальном гите его удалённая ветка
Роман
@i-coder
Nov 08 2016 05:36
@SerafimArts какой код ревью он был два дня в помощь я пришел на работу и эта лажа на серваке ни кто ег оне контролировал
@SerafimArts да все удаленно полностью - преокт работает - и все почищенно - тут слух пошел что это конкуренты ((( ваще сижу вшоке
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:36
смотри какая ситуация, я не в курсе ваших прений и влезать не готов, я могу лишь судить исходя из самый популярных практик
в гите локально у всех всё есть, даже если удалённо удалено
Роман
@i-coder
Nov 08 2016 05:37
@SerafimArts а можно это исправить декодировать?
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:37
в теории
Роман
@i-coder
Nov 08 2016 05:37
@SerafimArts ему мимо меня дали доступ на vps так что там все затерто
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:38
но помогать с этим я не буду, т.к. если ты разраб, то нашёл бы уже 1000 вариантов решения проблемы без декодирования
ast-rb
@ast-rb
Nov 08 2016 05:38
Привет всем, может быть вам проще заново написать?
KarmaBot
@KarmaBot
Nov 08 2016 05:38
@ast-rb, привет, как настроение?
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:38
@i-coder ну восстанови из гита, в чём проблемы-то?
Роман
@i-coder
Nov 08 2016 05:38
@SerafimArts @ast-rb да я рад но там проверка аунтификации написанна на чистом php проект сам старый и тащат его куча народу
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:39
и гита нет...
Роман
@i-coder
Nov 08 2016 05:39
@SerafimArts они с ним работал по ftp я за другие рпоекты отвечаю
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:39
ну восстанови из гита мастер ветку
блин, как со стеной, ей богу
Роман
@i-coder
Nov 08 2016 05:39
@SerafimArts я просто сутра рою инет как восстановить в нормальный вид эти файлы
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:40
зачем восстанавливать
Роман
@i-coder
Nov 08 2016 05:40
@SerafimArts нет там гит не использоватлся тупо фтп
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:40
сделай чекаут на мастер
Роман
@i-coder
Nov 08 2016 05:40
@SerafimArts я щас тут сижу на сервере и смотрю
ничего нету
ast-rb
@ast-rb
Nov 08 2016 05:40
@i-coder, а тогда про какую ветку ты говоришь: но вся ветка удалена и залит эта ветка и главнео прикол в том что мы заплатили
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:40
@i-coder хорошо, если не использовался:
1) Сам дурак
2) Т.к. ты говорил что работали с этим 1005000 человек - у кого-то 146% локально есть сырцы
Роман
@i-coder
Nov 08 2016 05:41
@SerafimArts я сам думал что есть а щас узнаю что ничего тут нету
@SerafimArts спрашиваю на ходу кто курировал его
@SerafimArts проект весит 235Г
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:41
:D
Роман
@i-coder
Nov 08 2016 05:41
да пиздецц
сижу в вахуиии
полном
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:42
не проект, а файлы загрузки
картиночки, видюшки и проч
проект, ну максимум 100 метров, почти гарантирую
и то, метров 80 из них - вендоры
Роман
@i-coder
Nov 08 2016 05:42
@SerafimArts никуя тольк код почти под 3г - убрал хлам
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:43
@i-coder хорошо, сделай откат vds
есть же наверняка реплика какая?
Роман
@i-coder
Nov 08 2016 05:44
@SerafimArts мне проще найти человека кто за деньги декожирует эти файлы
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:44
ситуация такая, судя по описанию - ты довольно мутный чел, без обид, говоришь одно, потом другое, на практике - третье =)
так что помогать декодировать я не буду
могу помочь с восстановлением предыдущей версии, если всё так, как ты описал
Роман
@i-coder
Nov 08 2016 05:45
@SerafimArts пипец ладно я просто поделился ситуации а если ты думаешь что я мутный то смотри гит байтбакет ладно глупо гооворить
Просто я больше небуду работать с удаленными сотрудниками с такой суммой и стакими проектами
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:45

гит байтбакет

чо?

Роман
@i-coder
Nov 08 2016 05:46
@SerafimArts github bitbuket
Alexander
@Dualse
Nov 08 2016 05:47

Просто я больше небуду работать с удаленными сотрудниками с такой суммой и стакими проектами

@i-coder Ну судя по прочитанному, то вы сами накосячили, а теперь считаешь, что проблема в удаленщиках

Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:48
@Dualse у него на гитхабе Yii, так что это о чём-то, да говорит ;)
Роман
@i-coder
Nov 08 2016 05:48
@Dualse что накосячили в чем? что сделали 100% предоплату ушли на выходные а пришли к полной попе
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:49
@i-coder что:
1) не храните важный код под гитом
2) что предоставили полный доступ непонятно кому в продакшену, а не к стейджу
3) что не проводили код ревью
4) и т.д.
так что я полностью согласен с @Dualse
Alexander
@Dualse
Nov 08 2016 05:50
@i-coder Ну я бы не стал давать не знакомому удаленщику доступ к боевому серверу
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:50
и любой более-менее серьёзно относящийся к своей работе специалист - это сделал бы, думаю тебе это должно быть очевидно, как следствие - твоя история звучит довольно глупо, сам понимаешь
Роман
@i-coder
Nov 08 2016 05:51
@SerafimArts еще раз повторюсь - Парня взяли удаленно дали сразу доступ на vps это мимо меня я некурировал проект , у меня их куча проектов я нанимаю их сам но к этому проекту ничего не имею - может это был конкурент или кто то я незнаю
@SerafimArts НЕ Я КУРИРУЮ ЭТОТ ПРОЕКТ
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:51
@i-coder тогда это НЕ ТВОЯ забота взламывать сырцы
;)
Роман
@i-coder
Nov 08 2016 05:51
@SerafimArts теперь с меня спрашиваю - начальству пофиг
Alexander
@Dualse
Nov 08 2016 05:52
@i-coder Я бы подготовил вазелин для курирующего проект
Роман
@i-coder
Nov 08 2016 05:52
уже уволен он
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:52
@i-coder а что начальству, ставь сроки - месяц на восстановление и пара лет, если ничего не получится
Роман
@i-coder
Nov 08 2016 05:53
@SerafimArts слова начальника ))) "что б блть больше никаких удаленных сотрудником студентики блять "
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:53
@i-coder тогда с чего ты решил, что это не он был? +)
Alexander
@Dualse
Nov 08 2016 05:53
@i-coder А у вас найти в офис проблемно?
Блин, мы оказывается не в оффтопе)
Роман
@i-coder
Nov 08 2016 05:54
@Dualse да просто взяли в помощь мы ушли на отдых
че делать хрен знает
щас буду звонить искать кто за бабки раскодирует эти файлы
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:55
@Dualse да утро, кому какая разница сейчас, что Yii'шник оффтопит в чате по Laravel фреймворку?
Dave
@aios
Nov 08 2016 05:55
@i-coder @SerafimArts посвятите в двух словах че произошло то?
Alexander
@Dualse
Nov 08 2016 05:55
@i-coder Ну у нас тоже дофига оутсорят на удаленку. Но заключают договор и обговаривают зону ответственности.
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:56
@aios ну один идиот дал доступ левому хрену к проду без договора, тупо взял и дал, он зашифровал ионкубом всё, идиота уволили и переложили проблему на голову сабжа
Роман
@i-coder
Nov 08 2016 05:56
@Dualse Да я сам удаленный сотрудник дома работаю я и тяну удаленных работников к себе в контору я непротив них но этот проект был большой и получилось что он очернил удаленщиков ((
@SerafimArts ПРЯМ В ТОЧКУ!
понял одно что весго файлов 7 штук он закодировал этим http://www.ioncube.com/
Alexander
@Dualse
Nov 08 2016 05:57
Надо звонить Касперскому
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:58
Доктору Майорову...
Роман
@i-coder
Nov 08 2016 05:58
а нет не 7 а 20 примерно
http://joxi.ru/vAWRYYBukvZLz2
Ребят есть выход с этой ситуации или идти начальству говорит что все плохо?
Alexander
@Dualse
Nov 08 2016 05:59
@i-coder А он закодирол только то, что дописывал или вообще все?
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:59
@i-coder ну попробуй через phpdbg прогнать, и из оперативы по байткоду восстановить сырцы
Роман
@i-coder
Nov 08 2016 05:59
@Dualse базовые класса которым по 6 лет они везде Include
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 05:59
хз
Роман
@i-coder
Nov 08 2016 06:01
вот что нашел тольк очто это дает http://www.unphp.net/decode/e9ca9438cd67cdd6a162c9d4704b382f/
Dave
@aios
Nov 08 2016 06:03
@i-coder а нахрена он это сделал?
ast-rb
@ast-rb
Nov 08 2016 06:03
А может связаться в вашим удаленщиком и все обсудить?
Роман
@i-coder
Nov 08 2016 06:03
@aios я это сутра спрашиваю у них кто ему платил
Alexander
@Dualse
Nov 08 2016 06:04
@ast-rb Не. Лучше узнать адрес и поехать к нему с битой
Роман
@i-coder
Nov 08 2016 06:04
@Dualse поверь я это уже обсуждал
Dave
@aios
Nov 08 2016 06:04
@i-coder без вариантов. к айонкубу не подкопаешься.
есть платные сервисы
которые принимают запрос на раскодирование
Роман
@i-coder
Nov 08 2016 06:04
@aios какие?
Dave
@aios
Nov 08 2016 06:05
процент успеха в районе 60
@i-coder погугли
ast-rb
@ast-rb
Nov 08 2016 06:05
@Dualse Я думаю, что он это сделал не просто так :)
Dave
@aios
Nov 08 2016 06:05
@i-coder может ему просто бабла дать?
и записать номер карты
выйти через органы
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:07
@i-coder ну так что, дебаггером по трейсу прогнать не пробовал?
да или просто рефлексией восстановить попробовать
Роман
@i-coder
Nov 08 2016 06:07
@SerafimArts подробнее можешь рассказать?
Dave
@aios
Nov 08 2016 06:08
@SerafimArts Киря это без вариков. слишком долгий путь решения.
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:08
@aios а что не так?
Dave
@aios
Nov 08 2016 06:08
@SerafimArts ну через рефлексию) епта)
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:08
ну а что нет?
хотя да, можно только получить сигнатуры методов
с другой стороны, не понятно почему phpdbg не вариант
если известны те же сигнатуры методов, можно поставить бряк на неё
а дальше получить список байтокода, он у пыха довольно простой, так что тупо прогнав файл на исполнение, можно восстановить будет проценов 80-90 кода
Роман
@i-coder
Nov 08 2016 06:10
@SerafimArts типа так? http://phpdbg.com/static/show-broken.png
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:10
@i-coder типа так, да
Роман
@i-coder
Nov 08 2016 06:11
@SerafimArts ну брейки ставить то надо зная куда тоесть наименование фукцйий или кода
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:11
но не уверен на счёт конкретно этого
@i-coder через рефлексию узнай ;)
Роман
@i-coder
Nov 08 2016 06:12
@SerafimArts немного непонял
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:12
да и зачем узнавать, если код не весь зашифрован
ты видишь обращения
значит видишь сигнатуры, которые внутри пыховских файлов
дальше грузишь файл в оперативу и через дебаггер вытаскиваешь исполняемый код
ну это в моём розовом мирке так
Роман
@i-coder
Nov 08 2016 06:13
@SerafimArts давай попробуем
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:14
не думаю что ион регистрирует свою vm поверх пыховской
Dave
@aios
Nov 08 2016 06:14
Писец
поставил винду редстона
а она хоум
и нету Hyper-V
Kirill Nesmeyanov
@SerafimArts
Nov 08 2016 06:15
редстона?
Dave
@aios
Nov 08 2016 06:15
ну превью
16363 как то так
с новыми приколами обновления.
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:18
Подскажите пожалуйста по роутеру, в какую сторону копать. У меня в урле, в одной и той же секции может быть и фильтр и пагинатор. вот пример Route::get('/catalog/{paginator}', 'Catalog@paginator'); Route::get('/catalog/{category}', 'Catalog@category'); В такой ситуации вызывается только Catalog@category. Как в роутер внести логику..
Vladimir Studenikin
@enjame
Nov 08 2016 06:22
@vadym-shcherbyna я бы костыльнул так, сделал get для пагинатора в таком случае, а пост для фильтра)
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:24
@enjame Спасибо! Но нужны фильтры и пагинаторы в урле для индексации ПС.
KarmaBot
@KarmaBot
Nov 08 2016 06:24
Спасибо (+1) для @enjame принято! Текущая карма +1.
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:26
Более того.. в одном и том же месте фильтры могут быть разные: category, city, region, type
Dave
@aios
Nov 08 2016 06:30
делай одну секцию и с фильтром и с пагинатором.
@vadym-shcherbyna зачем плодить роуты
если у тебя задача сводится к одному роуту
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:33
@aios примерно так? Route::get('/catalog/{anything}', 'Catalog@list'); перенаправлять все в один метод а там разбиратся пагинатор это или фильтр?
Dave
@aios
Nov 08 2016 06:33
агамс
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:33
@aios спасибо, подумаю
KarmaBot
@KarmaBot
Nov 08 2016 06:33
Спасибо (+1) для @aios принято! Текущая карма +257.
Dave
@aios
Nov 08 2016 06:33
не совсем.
пагинированием у тебя отдельный пакет занимается чтоль?
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:34
нет
Dave
@aios
Nov 08 2016 06:34
ну тогда получается что ты сначала применяешь фильтры потом делаешь запрос и пагинируешь
так зачем выводить пагинатор отдельно
какой смысл?
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:35
есть список 100 записей, фильтры не применены, мне надо разбить на страницы 100 записей без фильтра, а потом с фильтром
пагинатор может быть для списка без фильтра, с фильтром, с несколькими фильтрами.
все.. врубился... надо делать префиксы...
/page-{pagionator}/; /filter-category-{category}/;
Dave
@aios
Nov 08 2016 06:37
дебилизм)
пагинатор сам за тебя все делает
тебе нужно сделать /filter-category-{category}/page/{page}
единственное что бы это работало нужно задать настройи пагинатору и то при выводе ссылок на страницы
что бы они были не ?page=1
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:39
может быть такой урл /page/{page} без фильтра
ага.. вот в доках posts/{post}/comments/{comment}
Dave
@aios
Nov 08 2016 06:40
@vadym-shcherbyna пожалуйста.
)
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 06:41
@aios спасибо
KarmaBot
@KarmaBot
Nov 08 2016 06:41
Спасибо (+1) для @aios принято! Текущая карма +258.
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 08:19
Все равно криво выходит. Я не могу перенаправить фильтры, пагинаторы на один метод. Разное количество аргументов...
Dave
@aios
Nov 08 2016 08:27
@vadym-shcherbyna приклей фильтры к кукам или сесиям
формируй запрос из них
а пагинатор оставь в адресной строке.
Anton Vorontsov
@symbios-zi
Nov 08 2016 08:29
как правильно возвращать 304 статус для файла? по идее если такой статус, тогда я вообще файл не должен возвращать, так как будет задействован кеш
Vadym Shcherbyna
@vadym-shcherbyna
Nov 08 2016 08:49
@aios спасибо
KarmaBot
@KarmaBot
Nov 08 2016 08:49
Спасибо (+1) для @aios принято! Текущая карма +259.
Igor Romanenko
@12romis
Nov 08 2016 09:11

Доброе утро)) Заинтересовал вопрос создания запроса в бд который внутни себя делал бы другой подзапрос (в документации этого не нашел). Пример:

$messages = Push::whereIn('event_id', $event_ids)
                ->where('date', '>=', Carbon::now()->addHours( EVENT_GMT )->addMinutes(-15))
                ->get();

в запросе вместо EVENT_GMT должен быть подзапрос, который должен достать поле из другой таблицы (events)

можно сделать один джойн с этой "другой" таблицей
butschster
@butschster
Nov 08 2016 09:27
@12romis whereRaw ?
nocaut
@dikiypac
Nov 08 2016 09:27
привет
KarmaBot
@KarmaBot
Nov 08 2016 09:27
@NOCaut, привет =)
hyperauto
@hyperauto
Nov 08 2016 09:27
Салют!
nocaut
@dikiypac
Nov 08 2016 09:28
public function edit(AnaliticsRequest $request, Analytics $objId){} - чтото перестал обект передаватся
{{ Form::open(['route' => ['analytics.edit', 'objId' => $model->id], 'method' => 'post', 'id' => 'add_edit-form']) }} - вот как передаю
nocaut
@dikiypac
Nov 08 2016 09:56
почему не происходит магия и $objId не превращается в обект (
Arsen Soroka
@arsen-s
Nov 08 2016 10:03
@dikiypac потому что надо местами поменять
nocaut
@dikiypac
Nov 08 2016 10:14
@arsen-s что
Arsen Soroka
@arsen-s
Nov 08 2016 10:16
public function edit(Analytics $analytic, AnaliticsRequest $request)
@dikiypac + нужно сделать биндиг модели

@dikiypac в RouteServiceProvider

 Route::model('analytic', Analytics::class);

и в роуте сделать параметр analytic

nocaut
@dikiypac
Nov 08 2016 10:19
в 5.2 такого небило кажится
@dikiypac и бегом обновлятся на 5.3
nocaut
@dikiypac
Nov 08 2016 10:20
но остальние проекти работают у меня)
обновился и вот...
Route::model('analytic', Analytics::class); - а ето что такое?
Route::match(['get', 'post'], 'analytics-edit/{objId}', 'AnalyticsController@edit')->name('analytics.edit'); - роут у меня есть
Arsen Soroka
@arsen-s
Nov 08 2016 10:23
@dikiypac
Route::match(['get', 'post'], 'analytics-edit/{analytic}', 'AnalyticsController@edit')->name('analytics.edit');
nocaut
@dikiypac
Nov 08 2016 10:24
не помогло
Arsen Soroka
@arsen-s
Nov 08 2016 10:24
@dikiypac короче, читни сначало доку о роут биндиге
@dikiypac в RouteServiceProvider добавил?
Route::model('analytic', Analytics::class);
nocaut
@dikiypac
Nov 08 2016 10:25
ти шутиш
у меня 3 проекта на ларе крутится
и в етом отвалилося чтото
RouteServiceProvider - нет, щас
Arsen Soroka
@arsen-s
Nov 08 2016 10:26
и как в этих проектах в методе ты получаешть объект?
nocaut
@dikiypac
Nov 08 2016 10:26
щас
Arsen Soroka
@arsen-s
Nov 08 2016 10:27
@dikiypac у тебя же 5.2
значит тебе нужно зделать
$router->model('analytic',  Analytics::class);
nocaut
@dikiypac
Nov 08 2016 10:27
    public function bannerProfileEdit(ProfileBannerRequest $request, ProfileBanner $objId){ echo $objId->id  }
и так для всех моделей, все работает
у тебя же 5.3 - уже
на остальних 5.2
Arsen Soroka
@arsen-s
Nov 08 2016 10:28
зайди в этих проектах в RouteServiceProvider
nocaut
@dikiypac
Nov 08 2016 10:28
щас
    public function boot(Router $router)
    {
        $router->pattern('objId', '[0-9]+');

        parent::boot($router);
    }
все что там есть
Grigory Alexandrov
@alexaandrov
Nov 08 2016 10:30
Ребят, подскажите пожалуйста как вы называете таблицы в БД, в единственном или в множественном числе? Буду очень благодарен!
nocaut
@dikiypac
Nov 08 2016 10:30
$router - етот параметр не передается в boot в 5.3
Arsen Soroka
@arsen-s
Nov 08 2016 10:30
хм, я понятие не имею как ты с id получишь объект без роут биндинга
@dikiypac $router это если у тебя 5.2, если 5.3 то Route::model
nocaut
@dikiypac
Nov 08 2016 10:30
@arsen-s спс
KarmaBot
@KarmaBot
Nov 08 2016 10:30
Спасибо (+1) для @arsen-s принято! Текущая карма +116.
Arsen Soroka
@arsen-s
Nov 08 2016 10:31
@alexaandrov множественном
nocaut
@dikiypac
Nov 08 2016 10:31
@arsen-s а ти что для всех моделей писал Route:model('analytic', Analytics::class);
Grigory Alexandrov
@alexaandrov
Nov 08 2016 10:31
@arsen-s спасибо!
KarmaBot
@KarmaBot
Nov 08 2016 10:31
Карма @arsen-s не потревожена. Слишком часто её пошатывали.
Arsen Soroka
@arsen-s
Nov 08 2016 10:31
@dikiypac там где нужено мне это там и делал
nocaut
@dikiypac
Nov 08 2016 10:32
в единственном или в множественном числе? - в зависимости от ситуации, что там хранится
@arsen-s какаята дич. буду разбиратся
Arsen Soroka
@arsen-s
Nov 08 2016 10:32
@dikiypac я так понимаю роут биндиг ты впервые увидел
nocaut
@dikiypac
Nov 08 2016 10:33
да
всеравно не работает
public function boot()
    {

        Route::model('analytic',  Analytics::class);
        parent::boot();
    }
Arsen Soroka
@arsen-s
Nov 08 2016 10:34
@dikiypac почитай доку сначала, там все ясно должно быть
сделай пример такой же как в доке, все должно получится с 1 раза
nocaut
@dikiypac
Nov 08 2016 10:34
@arsen-s ми о разних вещах говорим думаю
Arsen Soroka
@arsen-s
Nov 08 2016 10:38

тогда

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

nocaut
@dikiypac
Nov 08 2016 10:39
@arsen-s мне уже самому интересно
SEQUEL.ONE
@SequelONE
Nov 08 2016 10:53
Всем привет)
KarmaBot
@KarmaBot
Nov 08 2016 10:53
Будь как дома, @SequelONE, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
SEQUEL.ONE
@SequelONE
Nov 08 2016 11:01
Подскажите как сделать правильно. Нужно обновлять по крону раз в сутки таблицу данными. Курс евро и доллара. Это нужно файл в папку public поместить, а на сам файл событие по крону поставить? Не очень что-то представляю. Или сделать отдельный роут и в контроллере получать через api данные и обновлять?
SEQUEL.ONE
@SequelONE
Nov 08 2016 11:04
@arsen-s даже так?! воу, спасибо)
KarmaBot
@KarmaBot
Nov 08 2016 11:04
Спасибо (+1) для @arsen-s принято! Текущая карма +117.
Vladimir Studenikin
@enjame
Nov 08 2016 11:11
@arsen-s ,воу нормальный собственный крон) спасибо)
KarmaBot
@KarmaBot
Nov 08 2016 11:11
Спасибо (+1) для @arsen-s принято! Текущая карма +118.
fakefakefake12
@fakefakefake12
Nov 08 2016 11:14
Ребят, кто нибудь юзал swagger с laravel 5.3?
Dave
@aios
Nov 08 2016 11:14
@fakefakefake12 ++
fakefakefake12
@fakefakefake12
Nov 08 2016 11:14
У меня тут мелкий трабл.
В контроллере вот такая вещь
    public function index(Request $request)
    {
        if($request->ajax()) {
            return Application::all();
        }

        return view('applications');
    }
Сваггер и swagger-ui посылает не ajax запросы.
Соотв. в ответе идет темплейт.
Application модель :D
Юзаю этот пакет https://github.com/DarkaOnLine/L5-Swagger
Vladimir Studenikin
@enjame
Nov 08 2016 11:18
ответ то должен получить в ajax?
fakefakefake12
@fakefakefake12
Nov 08 2016 11:18
Ответ в json должен придти
Наверное не очень хорошо так делать для api. Лучше отдельный метод для ajax, отдельный для http?
Хотя странно что из swagger-ui посылается не ajax запрос на контроллер.
Dave
@aios
Nov 08 2016 11:21
@fakefakefake12 infyomlabs тебе в помощь.
fakefakefake12
@fakefakefake12
Nov 08 2016 11:23
Так оно тут к чему.
Vladimir Studenikin
@enjame
Nov 08 2016 11:25
@fakefakefake12 так попробуй $obj = Application::all(); echo json_encode($obj);
Dave
@aios
Nov 08 2016 11:29
@fakefakefake12 к тому что бы разуть глаза и научится хоть чуть чуть строить нормальное API
fakefakefake12
@fakefakefake12
Nov 08 2016 11:30
@aios да я понял что я криво построил, уж извиняй
Dave
@aios
Nov 08 2016 11:30
@fakefakefake12 так как нужен был пример с Swagger - то там есть сразу встроенный генератор - который собирает инфу со всех контроллеров апи из аннотаций
ваще никаких проблем.
@fakefakefake12 если ты оставишь в таком виде - тебя проклянут
Alexey Samoylov
@russianlagman
Nov 08 2016 11:31
использовать сваггер с аннотациями не надо
лучше отдельно
Dave
@aios
Nov 08 2016 11:32
@russianlagman делаем две работы?)
fakefakefake12
@fakefakefake12
Nov 08 2016 11:32
@aios да я уже сам проклинаю, просто не понимаю, сваггер вроде бы для api, а посылает не ajax реквесты из swagger-ui
Dave
@aios
Nov 08 2016 11:32
@fakefakefake12 он и не должен посылать ajax реквесты
fakefakefake12
@fakefakefake12
Nov 08 2016 11:32
В итоге у меня в ответе вьюшка а не json
Dave
@aios
Nov 08 2016 11:32
он тебя просто редиректит на экшон)
Alexey Samoylov
@russianlagman
Nov 08 2016 11:33
@aios а то
fakefakefake12
@fakefakefake12
Nov 08 2016 11:33
короче перепилю, api значит api. http значит вынесу
Alexey Samoylov
@russianlagman
Nov 08 2016 11:33
я со сваггером собаку скушал
Dave
@aios
Nov 08 2016 11:33
запрос ajax происходит когда ты рендеришь саму сваггер ui
@russianlagman значит где то кусок мозга не доел)
fakefakefake12
@fakefakefake12
Nov 08 2016 11:33
ладно, перепил тогда сделаю.
Dave
@aios
Nov 08 2016 11:33
@russianlagman нормально оно фурычит с аннотациями
ну по крайней мере на маленьких проектах.
и собирает инфу достаточно резво
Alexey Samoylov
@russianlagman
Nov 08 2016 11:33
сваггер за своей схемой ходит после загрузки странички со swagger-js
fakefakefake12
@fakefakefake12
Nov 08 2016 11:34
да вроде все ок. стянул пакет, написал анотации, сгенерил, profit
Alexey Samoylov
@russianlagman
Nov 08 2016 11:34
@aios проблемы а) отсутствие поддержки синтаксиса в ide b) невозможность разложить разные декларации в разных местах
когда у тя будет штук 50 эндпойнтов ты проклянешь декларации
)
когда будут сквозные референсы по проекту и тд
Dave
@aios
Nov 08 2016 11:35
@russianlagman чета не проклинаю)
@russianlagman хотя их под 25-30
Alexey Samoylov
@russianlagman
Nov 08 2016 11:36
@aios гораздо лучше сложить все в yaml файлы, нормальный сборщик заюзать (который подтянет с разных мест paths, parameters, definitions)
и отдаст в json формате
у тя и подсветка будет, и удобство
инфа 100%
Dave
@aios
Nov 08 2016 11:42
@russianlagman гемор) - нам нужна просто рабочая документация. Когда тебе нужно написать контроллер и написать к нему аннотацию - и когда тебе нужно написать 10 контролеров - а потом к ним доку - это две разные вещи - разные разработчики к этому относятся по разному - эти две ситуации похожи только в поддержке - то бишь мы поправили контроллер - поправили аннотацию - или - поправили контроллер и поправили yaml
Alexey Samoylov
@russianlagman
Nov 08 2016 11:43
@aios дока пишется, когда контроллеров вообще нет
сначала дока, потом тест по доке, потом только контроллеры
иначе ты будешь апи делать вечно
Dave
@aios
Nov 08 2016 11:44
@russianlagman странно - почему то я так не думаю. и потом писать тесты - я пока не научился... =(((
наверно это как то связано.
Alexey Samoylov
@russianlagman
Nov 08 2016 11:45
доку и контроллеры могут делать люди, вообще никак друг с другом не связанные :-)
Dave
@aios
Nov 08 2016 11:49
@russianlagman я короче с тобой не согласен - прав я или нет мне покажет время) хотя судя по тому что ты опытнее меня - я конечно склоняюсь к тому что я не прав - но буду продолжать считать по своему)
Nuzsk
@Nuzsk
Nov 08 2016 11:53
@aios у меня сейчас примерно та ситуация, что лагман описывает
куски апи приходится придумывать\описывать мне, а имплементировать будет кто-то другой
Dave
@aios
Nov 08 2016 11:54
@Nuzsk ерня какая то.
@Nuzsk задачи делятся не на апи, доку. они делятся на бекенд и фронтенд, если я не прав поправьте меня.
оба
Nuzsk
@Nuzsk
Nov 08 2016 11:55
@aios ну вот так вот... кому нужно апи - тот и описывает его
Dave
@aios
Nov 08 2016 11:56
если человеку дают фичу - то он должен под эту фичу реализовать все что он может и доку и тесты и само апи - и фронт если может.
ну или наоборот - только фронт если не может ничего больше.
fakefakefake12
@fakefakefake12
Nov 08 2016 11:58
кому как. я сейчас фронтенд+бэк и доку пилю =_=
Dave
@aios
Nov 08 2016 12:02
@fakefakefake12 ну я к этому и веду - что чаще всего человек делает все за всех.
Alexey Samoylov
@russianlagman
Nov 08 2016 12:03
да даже когда один за всех
проще вынести отдельно, чем устраивать кашу )
Nuzsk
@Nuzsk
Nov 08 2016 12:04

@fakefakefake12 ну я к этому и веду - что чаще всего человек делает все за всех.

для фриланса справедливо

Dave
@aios
Nov 08 2016 12:04
@russianlagman а какая разница? ищешь то ты инфу потом всеравно уже в UI
@Nuzsk а камни в чужие огороды кидать нехорошо.
Nuzsk
@Nuzsk
Nov 08 2016 12:04
@aios я сказал что это плохо?
Dave
@aios
Nov 08 2016 12:05
@Nuzsk ну прозвучало довольно унизительно.
Alexey Samoylov
@russianlagman
Nov 08 2016 12:05
@aios проще искать тому, кто будет за тобой конюшни разгребать
Dave
@aios
Nov 08 2016 12:06
@russianlagman еще один метатель. так ребят - разрабатывайте как разрабатывали - я никого ни к чему не склоняю. - высказал свое мнение - мне так удобно и всем кто со мной работает. Не жаловались в общем.
Alexey Samoylov
@russianlagman
Nov 08 2016 12:06
:D
Anton Vorontsov
@symbios-zi
Nov 08 2016 12:08
оффтоп
Dave
@aios
Nov 08 2016 12:08
@symbios-zi вопрос относился к ларе.
@symbios-zi не превращайся в йоду.
egorea1999
@egorea1999
Nov 08 2016 12:11
Всем привет, кто-нибудь прикручивал платежки на лару? Лучше ручками или чем-то готовым воспользоваться?
KarmaBot
@KarmaBot
Nov 08 2016 12:11
Будь как дома, @egorea1999, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
Vladimir Studenikin
@enjame
Nov 08 2016 12:26
@egorea1999 а они вообще готовые есть? :) я свою старую под ларку адаптировал)
egorea1999
@egorea1999
Nov 08 2016 12:26
ну каждая система оплаты работает по-своему, ну так-то да, я думал, может мерчи какие-то есть
под все кошельки
Vladimir Studenikin
@enjame
Nov 08 2016 12:27
я даже не искал, я думаю если и есть, то только зарубежные(но и это не факт)
egorea1999
@egorea1999
Nov 08 2016 12:28
ну хорошо, а с обычными кошельками типа яд, киви и вебмани с оформлением договора для платежей никаких проблем не было?
Vladimir Studenikin
@enjame
Nov 08 2016 12:30
я прикручивал payanyway, заказчик оформляет договора, а я прикручиваю
egorea1999
@egorea1999
Nov 08 2016 12:31
понял, спасибо за сервис, а почему именно его выбрали?
Vladimir Studenikin
@enjame
Nov 08 2016 12:36
@egorea1999 во первых прикручивать не так сложно, во вторых неплохой набор платёжных систем
egorea1999
@egorea1999
Nov 08 2016 12:37
@enjame спасибо, посмотрю эту платежку
KarmaBot
@KarmaBot
Nov 08 2016 12:37
Спасибо (+1) для @enjame принято! Текущая карма +2.
JhaoDa
@jhaoda
Nov 08 2016 12:50
@i-coder у нас не матерятся, это во-первых. Во-вторых, почему этот оффтоп был не в оффтопе или не в вашем юишном чатике?
Роман
@i-coder
Nov 08 2016 12:51
@jhaoda ссори запутался
Ivan Boldyrev
@iboldurev
Nov 08 2016 14:38
Всем привет
KarmaBot
@KarmaBot
Nov 08 2016 14:38
@iboldurev, и тебе привет ;)
Alexander
@spartaque
Nov 08 2016 15:14
привет. Скажите пожалуйста, можно как достучаться внутри класса до $this->app?
Я хочу сделать $obj = $this->app->make(\Foo::class);.
Там вроде бы есть хэлпер для этого?
Ivan
@Hunternnm
Nov 08 2016 15:14
@spartaque app() ?
JhaoDa
@jhaoda
Nov 08 2016 15:16
@spartaque внутри какого класса ты хочешь достучаться до $this->app?
Alexander
@spartaque
Nov 08 2016 15:24
@Hunternnm спасибо=) доку таки полностью нужно прочитать;)
KarmaBot
@KarmaBot
Nov 08 2016 15:24
Спасибо (+1) для @Hunternnm принято! Текущая карма +295.
Alexander
@spartaque
Nov 08 2016 15:24
@jhaoda внутри Job'a. Вопрос уже решен, спс
KarmaBot
@KarmaBot
Nov 08 2016 15:24
Спасибо (+1) для @jhaoda принято! Текущая карма +1294.
Anton Kartsev
@bigperson
Nov 08 2016 15:31

Снова возвращаюсь к реализации контроля доступа. Видимо я совсем глуп. Использую пакет https://github.com/thekordy/auzo . Набросал прототип даже https://jsfiddle.net/Bigperson/br37zkzs/1/ как визуально должно примерно выглядеть. Есть заказы (Order), к ним нужно предоставлять пользователям различные виды доступа, указывая конкретно с какими заказами разрешено то или иное действие. У пользователя есть роль (может быть только одна). К роли привязываются abilities (через метод $role->givePermissionTo($ability);). Есть ability - order.create, определяющее может ли пользователь создавать заказы, просто привязываем к роли, c этим ясно. Но вот как быть с политиками.
Создаю политику OrderPolicy, с методами viewAll, viewHis, ..., editAll, ..., editHis,..., removeAll, removeHis,..., и т.д....
Политики привязываются к роли:

$role->givePermissionTo($ability->name)
    ->addPolicy($policy1)
    ->addPolicy([$policy2->id => ['operator' => 'or']]);

То есть сюда еще завязывается ability. Я совсем не могу понять как они работают, что за чем следует и как потом это проверять в контроллерах. Объясните пожалуйста, кто сталкивался с подобной задачей.

Dave
@aios
Nov 08 2016 15:33
@bigperson эх сейчас бы заюзать laratrust
и не парится)
Anton Kartsev
@bigperson
Nov 08 2016 15:36
@aios не знаком. посмотрю. Изначально подбирал пакет реализующий ABAC https://habrahabr.ru/company/custis/blog/248649/
Dave
@aios
Nov 08 2016 15:37
@bigperson там есть Ability
а полтики у них можно переписать
  • плюшки)
Anton Kartsev
@bigperson
Nov 08 2016 15:43
@aios спасибо, попробую посмотреть
KarmaBot
@KarmaBot
Nov 08 2016 15:43
Спасибо (+1) для @aios принято! Текущая карма +260.
Anton Kartsev
@bigperson
Nov 08 2016 15:45
Но политики в любом случае будут нужны, чтоб сопоставлять автора (ответсвенного) заказа, плюс это только одна сущность, а их будет множество и условия скорее всего будут усложняться со временем, хотелось бы иметь возможность сразу учесть это
egorea1999
@egorea1999
Nov 08 2016 16:10
Все привет, кто может подсказать мануал, как ПРАВИЛЬНО делать api? К примеру, этот мануал можно взять за основу https://laravel-news.ru/blog/tutorials/laravel-api-3rd-party ?
KarmaBot
@KarmaBot
Nov 08 2016 16:10
Не узнал тебя, @egorea1999. Богатым будешь :)
JhaoDa
@jhaoda
Nov 08 2016 16:12
@egorea1999 ты сначала определись с задачей, для чего тебе API
egorea1999
@egorea1999
Nov 08 2016 16:13
@jhaoda связь приложения с сервером
JhaoDa
@jhaoda
Nov 08 2016 16:13
@egorea1999 какого приложения?
egorea1999
@egorea1999
Nov 08 2016 16:13
@jhaoda собственного
на windows/linux - не важно
JhaoDa
@jhaoda
Nov 08 2016 16:13
@egorea1999 ...
egorea1999
@egorea1999
Nov 08 2016 16:13
@jhaoda ?
JhaoDa
@jhaoda
Nov 08 2016 16:13
@egorea1999 я про ОС не спрашивал
egorea1999
@egorea1999
Nov 08 2016 16:14
@jhaoda мол, что приложение делать будет?
JhaoDa
@jhaoda
Nov 08 2016 16:14
@egorea1999 нет
egorea1999
@egorea1999
Nov 08 2016 16:14
@jhaoda эм, а что тогда?
@jhaoda у юзера есть приложение, он к примеру, должен в нем пройти авторизацию, потом получить данные и работать с ними, мысль понятна?
JhaoDa
@jhaoda
Nov 08 2016 16:16
А ведь достаточно было промолчать :)
@egorea1999 уже лучше
@egorea1999 только не авторизацию, а аутентификацию
egorea1999
@egorea1999
Nov 08 2016 16:16
@jhaoda ну пусть будет так, хорошо, тот мануал подойдет?
JhaoDa
@jhaoda
Nov 08 2016 16:18
@egorea1999 нет, максимум как источник общий сведений
egorea1999
@egorea1999
Nov 08 2016 16:18
@jhaoda печально, а что-нибудь можете посоветовать от себя?
response в api принятно выводить в виде json или это дело вкуса?
Ivan
@Hunternnm
Nov 08 2016 16:21
Приятно, еще как приятно
Dave
@aios
Nov 08 2016 16:21
@Hunternnm ну харош троллить
egorea1999
@egorea1999
Nov 08 2016 16:21
Надеюсь, не сарказм?
Ivan
@Hunternnm
Nov 08 2016 16:22
@aios okay
JhaoDa
@jhaoda
Nov 08 2016 16:22
@egorea1999 что мешает отредактировать сообщение?
Ivan
@Hunternnm
Nov 08 2016 16:22
@aios злой ты... чессслово
Andrei Sosnov
@atehnix
Nov 08 2016 16:23
@egorea1999 могу посоветовать книжку https://apisyouwonthate.com/
@egorea1999 ну и с такими ресурсами не помешает ознакомиться:
egorea1999
@egorea1999
Nov 08 2016 16:25
@atehnix спасибо, но навряд ли я смогу купить эту книгу и ознакомиться с ней в ближайшее время, а за ссылки спасибо, ознакомлюсь
KarmaBot
@KarmaBot
Nov 08 2016 16:25
Спасибо (+1) для @atehnix принято! Текущая карма +163.
NoViKoFF
@AndrewNovikof
Nov 08 2016 16:37
@egorea1999 тут код с реализацией API по книжке Выше https://github.com/philsturgeon/build-apis-you-wont-hate
egorea1999
@egorea1999
Nov 08 2016 16:39
@AndrewNovikof вау, то, что нужно, спасибо)
KarmaBot
@KarmaBot
Nov 08 2016 16:39
Спасибо (+1) для @AndrewNovikof принято! Текущая карма +36.
Andrei Sosnov
@atehnix
Nov 08 2016 16:45
@egorea1999 Но все равно книжка лучше, т.к. дает понимание сути, а код - это просто код, к тому же на Laravel 4.1, имей в виду (с тех пор вышло 5 мажорных релизов) ;)
Книжка, кстати, и по сети где-то гуляет, видел..)
egorea1999
@egorea1999
Nov 08 2016 16:46
@atehnix так да, ну я просто идею смотрю, в принципе, на 5-ке смогу реализовать
Alexander
@Dualse
Nov 08 2016 16:47

@egorea1999 могу посоветовать книжку https://apisyouwonthate.com/

У меня есть эта книжка

egorea1999
@egorea1999
Nov 08 2016 16:48
на торрентах нашел)
Anton Kartsev
@bigperson
Nov 08 2016 16:54
Как проверить существование метода в политике? Стандартный method_exists использовать или еще как-то можно?
Anton Kartsev
@bigperson
Nov 08 2016 17:04
И как проверить существование вообще политики?
Ivan Boldyrev
@iboldurev
Nov 08 2016 17:27
Кто работал с laravel passport отзовитесь плз
Роман Сохарев
@greabock
Nov 08 2016 17:28
я его выкинул нафиг, это какой-то мертво-рожденный пакет
Ivan Boldyrev
@iboldurev
Nov 08 2016 17:28
почему?
просто у меня проблема с сроком действия токена
Passport::tokensExpireIn(Carbon::now()->addDays(15)); а он мне в бд создал 2116-11-08 17:26:23
тоесть не на 5 дней а на 100 лет
до 2116 года
вот не знаю почему так
Роман Сохарев
@greabock
Nov 08 2016 17:30
Потому что очень жестко привязан к компонентам лары. Нельзя запустить его, если у тебя доктрина, нельзя запустить его если у тебя свои алгоритмы токенов. Его сделали на коленке за пару дней. Он ужасен по своей сути.
Ivan Boldyrev
@iboldurev
Nov 08 2016 17:30
Просто у меня сейчас нет времени на то чтоб писать свое
взял готовое
но вот с этим надо разобратся
Глянул по коду это для персональных токенов так сделали
Ivan Boldyrev
@iboldurev
Nov 08 2016 17:36
Personal access tokens are always long-lived. Their lifetime is not modified when using the tokensExpireIn or refreshTokensExpireIn methods.
Dave
@aios
Nov 08 2016 17:37
@greabock подскажи лучше что мне для поиска использовать - такого типо лексера - мол если ищет "Starbucks" то пыталось отдавать еще "Starbacks" "Sturbucks" и тд и тп.
@greabock стоит ли велосипедить свое или можно заюзать что то стороннее
Dave
@aios
Nov 08 2016 17:43
ну либо кто то по идеям что то подскажет?
Роман Сохарев
@greabock
Nov 08 2016 17:46
@aios бери эластик, что тут думать-то
Dave
@aios
Nov 08 2016 17:48
@greabock окай) спасибо)
KarmaBot
@KarmaBot
Nov 08 2016 17:48
Спасибо (+1) для @greabock принято! Текущая карма +458.
Alexander Bobrov
@kca66y
Nov 08 2016 18:07

Ребята, Добрый вечер. Подскажите, есть такой массив

[{"id":4,"title":"\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u043a\u043b\u0443\u0431\u0430","created_at":"2016-11-08 14:18:25","updated_at":"2016-11-08 14:18:25","pivot":{"user_id":"15","role_id":"4"}}]

Получается он в blade из такой вот формулы $user->roles();
Как мне на шаблоне blade вытащить оттуда title)

KarmaBot
@KarmaBot
Nov 08 2016 18:07
@kca66y, ну рассказывай. Как жизнь? :)
Alexander Bobrov
@kca66y
Nov 08 2016 18:09
Голова уже кипит :fire:
JhaoDa
@jhaoda
Nov 08 2016 18:11
@kca66y это не массив, а json. Как с json работать знаешь?
Alexander
@Dualse
Nov 08 2016 18:11
@kca66y $user->roles()->title ?
JhaoDa
@jhaoda
Nov 08 2016 18:12
@Dualse работать не будет
Alexander
@Dualse
Nov 08 2016 18:13
@jhaoda Почему? Объект же
JhaoDa
@jhaoda
Nov 08 2016 18:13
@Dualse ну подумай, посмотри...
Alexander Bobrov
@kca66y
Nov 08 2016 18:24
@jhaoda из функций знаю только decode и encode(
JhaoDa
@jhaoda
Nov 08 2016 18:24
@kca66y ну вот и декодируй
А лучше разберись со связями в элоквент, а то ты не понимаешь, что делаешь
Alexander Bobrov
@kca66y
Nov 08 2016 18:26
@jhaoda нет, погоди. Я связываю роль с пользователем, то есть у пользователя может быть несколько ролей и наоборот
@jhaoda Многие ко многим
JhaoDa
@jhaoda
Nov 08 2016 18:27
@kca66y ещё раз — разберись со связями, я вижу, что ты не понимаешь разницы между $user->roles() и $user->roles
Alexander Bobrov
@kca66y
Nov 08 2016 18:42
@jhaoda Что то я совсем запутался, что так roles() мы берем все роли что так roles
JhaoDa
@jhaoda
Nov 08 2016 18:42
@kca66y третий раз повторяю — почитай доку
Alexander Bobrov
@kca66y
Nov 08 2016 18:43
@jhaoda вот я только что оттуда
Alexander
@Dualse
Nov 08 2016 18:44
@jhaoda А что я не так сказал то? Типа когда $user->roles() нельзя обратиться к свойству?
JhaoDa
@jhaoda
Nov 08 2016 18:44
@Dualse ты тоже прочитай
Alexander
@Dualse
Nov 08 2016 18:46
@jhaoda Что прочитать? Я знаю отличия. $user->roles - обращение к свойству, $user->roles() - выполняет метод. Первое используется при жадной загрузки, второе дергает данные в момент вызова метода. Так же?
JhaoDa
@jhaoda
Nov 08 2016 18:46
@Dualse нет
Роман Сохарев
@greabock
Nov 08 2016 18:48
вы полегче, посоны, а то он вас отстреливать начнет...
короче, $user->roles() вернет объект связи (BelongsToMany, судя по всему). Объект связи != связанные модели.
JhaoDa
@jhaoda
Nov 08 2016 18:50
@greabock ай, спасиба, переводчик-джян! :)
Роман Сохарев
@greabock
Nov 08 2016 18:53
Объект связи (он же Relation), это по своей сути обертка над квери-билдером
ребята что-то повисли... задумались наверное =)
Alexander Bobrov
@kca66y
Nov 08 2016 18:59
@greabock не я просто все не могу вдуплить как оттуда вытащить( все перепробовал
Дмитрий Мязин
@d4c0
Nov 08 2016 19:01
Ребята, до сегодняшнего момента всё работало, сегодня начало жаловаться на функцию bcsub(), ЧЗХЯННП?!
Роман Сохарев
@greabock
Nov 08 2016 19:01
@kca66y
@foreach($user->roles as $role)
    {{$role->tilte}}
@endforeach
Дмитрий Мязин
@d4c0
Nov 08 2016 19:01
А конкретно пакет стим аутентификации, в одном из методов юзается эта функция. Но это функция языка, а ПХП я не обновлял
Call to undefined function Invisnik\LaravelSteamAuth\bcsub()
вот тут что написано?
вот если хотя бы даже на хлебные крошки посмотреть
Дмитрий Мязин
@d4c0
Nov 08 2016 19:04
@greabock а что там написано, куда конкретно смотреть?
Роман Сохарев
@greabock
Nov 08 2016 19:05
окей... я прям даже уточню
http://php.net/manual/ru/bc.installation.php
Дмитрий Мязин
@d4c0
Nov 08 2016 19:05
@greabock так вот я и говорю, до сегодняшнего дня всё работало, в ПХП вообще не лез... Хотя, возможно сам пакет обновили и ввели эту функцию, ибо composer update я юзал.
Alexander Bobrov
@kca66y
Nov 08 2016 19:08
@greabock Спасибо большое, я просто тупой и иногда ничего перед носом не вижу :smile:
KarmaBot
@KarmaBot
Nov 08 2016 19:08
Спасибо (+1) для @greabock принято! Текущая карма +459.
Дмитрий Мязин
@d4c0
Nov 08 2016 19:08
@greabock спасибо, установил, помогло
KarmaBot
@KarmaBot
Nov 08 2016 19:08
Карма @greabock не потревожена. Слишком часто её пошатывали.
Дмитрий Мязин
@d4c0
Nov 08 2016 19:33
Кто вообще работал со стим аутентификацией?
am0nshi
@am0nshi
Nov 08 2016 19:33
+
Дмитрий Мязин
@d4c0
Nov 08 2016 19:34
https://www.youtube.com/watch?v=rfHX-Hecu3k
Тут видео, самый последний комментарий - мой, если не сложно, глянь?
Суть в том что мы в миграции добавляем 3 поля, username, steamid и avatar, соответственно в модели делаем их fillable, но из стима не передаются такие данные как user, email, password, и соответственно ошибка, т.к. в таблице они NOT NULL и DEFAULT none, а у автора видео работает, пишет туда пустые строки, хз почему. Может в ларе 5.3 что то поменялось?
Дмитрий Мязин
@d4c0
Nov 08 2016 19:41
То чувство когда сделал 1 в 1 как показывалось, причём с полным пониманием происходящего, в итоге на видосе работает, у тебя - нет. Да и причина понятна, но у автора такой проблемы не возникло :D
Rinat-wc
@Rinat-wc
Nov 08 2016 19:41
кто нибудь делал push уведомления для safari?
am0nshi
@am0nshi
Nov 08 2016 19:42
@d4c0 c ларой не сталкивался, но если пишет пустые - сделай default '', в чем проблема то?
Дмитрий Мязин
@d4c0
Nov 08 2016 19:44
@am0nshi проблема в том, что там работает, а у меня нет! :D Не могу не разобраться, дотошный.
Дмитрий Мязин
@d4c0
Nov 08 2016 19:51
@am0nshi на видео они тоже not null и default none... Жаль нет сырцов, так бы продампал всё
Anton Kartsev
@bigperson
Nov 08 2016 19:52
@d4c0 http://stackoverflow.com/questions/31698206/laravel-5-1-steam-login/33546790#33546790
protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'nickname' => $data['nickname'],
            'steamid' => $data['steamid'],
            'avatar' => $data['avatar'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
}
@d4c0 посмотри что в $data приходит
Дмитрий Мязин
@d4c0
Nov 08 2016 19:55
@bigperson только этот метод вообще не вызывается. Это метод стандартного контроллера аутентификации, а мы то создаём свой контроллер с методом login(), в этот мы вообще никаким боком не попадаем. Я не понял зачем автор добавлял тут эти поля.
@bigperson https://github.com/invisnik/laravel-steam-auth
В самом низу листинг, у нас там свой User::create([...]);
Anton Kartsev
@bigperson
Nov 08 2016 20:07
@d4c0 посмотри что в методе $this->steam->getUserInfo() приходит? Если нужных данных нету, тогда запрашивай их у пользователя при первой авторизации, самый простой вариант, ну либо ищи способ их получить
Дмитрий Мязин
@d4c0
Nov 08 2016 20:13

@bigperson там у нас приходят различные данные о Steam профиле:
http://laravel.io/bin/W4mLV

Они вроде общедоступны, ничего секретного :D Из них мы берём 3 основных (ну точнее автор пакета предлагает нам взять эти 3 параметра):

$user = User::create([
  'username' => $info->personaname,
  'avatar'   => $info->avatarfull,
  'steamid'  => $info->steamID64
]);

Дело в том что такие поля в модели User как name, email, password остаются пустыми, из за чего модель не может записаться в базу, ибо там эти поля NOT NULL и НЕ имеют стандартного значения. Однако у автора данного видео таких проблем не возникает, и эти поля остаются пустыми! (из видео видно что никаких заглушек он не пишет, ничего дополнительно не запрашивает, миграцию на предмет стандартных значений и NULL'эболости он не правит). Я в сметении.

Понятно только то что там не 5.3 ларавель (по странице welcome), но что могло измениться в этом плане?

KarmaBot
@KarmaBot
Nov 08 2016 20:13
@d4c0, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
JhaoDa
@jhaoda
Nov 08 2016 20:15
@d4c0 послушайся бота
Дмитрий Мязин
@d4c0
Nov 08 2016 20:19
@jhaoda сделано, шеф) а ты что-нибудь можешь сказать по данному вопросу?
JhaoDa
@jhaoda
Nov 08 2016 20:19
@d4c0 я томат
Дмитрий Мязин
@d4c0
Nov 08 2016 20:19
@jhaoda солнцу рад?
@jhaoda ну а если серьёзно?
JhaoDa
@jhaoda
Nov 08 2016 20:20
@d4c0 я не следил за дискуссией
Дмитрий Мязин
@d4c0
Nov 08 2016 20:22
@jhaoda да в последнем моём посте с листингом вся суть, тащемта.
Anton Kartsev
@bigperson
Nov 08 2016 20:29
@d4c0 измени структуру БД и не парься
Дмитрий Мязин
@d4c0
Nov 08 2016 20:46
@bigperson я поднял проект на 5.1 как на видео. И всё получилось...
Дмитрий Мязин
@d4c0
Nov 08 2016 20:53
@bigperson опытным путём понял, что методы save у моделек ларки 5.1 и 5.3 отличаются, позже скажу чем именно.
Дмитрий Мязин
@d4c0
Nov 08 2016 21:32
Как и обещал. Отличие было не в методе Model::save(), отличие было в конфиг файле database.php, в 5.1 в поле strict по умолчанию false, в 5.3 'strict' => true. Поменял, проблема решилась... Убил вечер, но стоило того)
Anton Kazakov
@venila
Nov 08 2016 22:23
Есть еще те, кто не спит?
Cyber Xucyc
@Cyber-host
Nov 08 2016 22:23
нет
Дмитрий Мязин
@d4c0
Nov 08 2016 22:23
+
Anton Kazakov
@venila
Nov 08 2016 22:24
$dialogs = Dialog::with('message.user')->with(['message' => function ($query) {
            $query->where('read', 'false')->where('recipient', Auth::user()->id);

        }])->get();
JhaoDa
@jhaoda
Nov 08 2016 22:25
@venila ты когда в чат заходил первый раз, там были правила. Напоминаю — http://laravel.su/articles/nine-circles-of-chat, читай ещё раз, особенно «Круг седьмой»
Anton Kazakov
@venila
Nov 08 2016 22:25
В общем, такой вопрос: я не хочу чтобы из модели с пользователя бралась вся информация. Мне нужны только 3 столбца. @jhaoda прошу прощения, больше не повторится.
Cyber Xucyc
@Cyber-host
Nov 08 2016 22:26
@venila select?
JhaoDa
@jhaoda
Nov 08 2016 22:26
@venila ну так и используй query builder вместо моделей
Дмитрий Мязин
@d4c0
Nov 08 2016 22:28
Запрос в гугл по фразе laravel get specific fields сразу выдал ссылку на стаковерфлоу.
Anton Kazakov
@venila
Nov 08 2016 22:28
А насколько правильно вызывать полную модель юзера, когда нужнны только таки стобцы: avatar, login, id
Эти данные нужны только для того, чтобы передать их во вью.
@d4c0 спасибо. Но все равно хочется услышать , делает ли кто так. Правильно ли это.
KarmaBot
@KarmaBot
Nov 08 2016 22:30
Спасибо (+1) для @d4c0 принято! Текущая карма +9.
JhaoDa
@jhaoda
Nov 08 2016 22:31
@venila у тебя что, запрос каждого поля из БД денег стоит? Экономишь?
Дмитрий Мязин
@d4c0
Nov 08 2016 22:31
Да как так то?) Что тут не правильного? Что несколько лишних полей вернётся?
Anton Kazakov
@venila
Nov 08 2016 22:33
@d4c0 ну да. Передавать все данные пользователя , включая логин и пасс...
Дмитрий Мязин
@d4c0
Nov 08 2016 22:33
@venila есть в модели свойство hidden, на сколько я знаю. И что что там логин и пасс? Ты же его во вью не выводишь нигде на странице... На клиент улетает HTML, твоя модель остаётся на сервере, там и умирает.
JhaoDa
@jhaoda
Nov 08 2016 22:33
@d4c0 это ж доку читать надо, что бы про это знать :)
Anton Kazakov
@venila
Nov 08 2016 22:34
@jhaoda Я пытаюсь все на практике проходить. @d4c0 еще раз спасибо.
KarmaBot
@KarmaBot
Nov 08 2016 22:34
Спасибо (+1) для @jhaoda принято! Текущая карма +1295.
JhaoDa
@jhaoda
Nov 08 2016 22:35
@venila вас таки, практикантов, каждый день да через день. Честно говоря, вы уже утомили
@venila ты не читаешь доку, а задаешь глупые вопросы здесь. Задавай их гуглу, он железный, ему пофиг.
Дмитрий Мязин
@d4c0
Nov 08 2016 22:37
@jhaoda тебе молоко за вредность ещё не дают? :D