These are chat archives for LaravelRUS/chat

6th
Jul 2016
Роман Сохарев
@greabock
Jul 06 2016 03:06 UTC
Утречка
Maxim
@Big-Shark
Jul 06 2016 03:07 UTC
денечка
Ivan
@Hunternnm
Jul 06 2016 06:16 UTC
Бобра?
KarmaBot
@KarmaBot
Jul 06 2016 06:16 UTC
Привет, @Hunternnm! Проходи, присаживайся. В ногах правды нет :)
Dmitriy Sobolevskiy
@justty
Jul 06 2016 06:42 UTC
привет всем
KarmaBot
@KarmaBot
Jul 06 2016 06:42 UTC
@justty, здравствуй.
Dmitriy Sobolevskiy
@justty
Jul 06 2016 06:44 UTC
не знаю, что-то мертво на vue. смею предположить что ларавельщики балуются им. можно вопрос оффтоп запилить сюда?
Maxim
@Big-Shark
Jul 06 2016 06:44 UTC
@justty можно, но скорее всего не помогут, так как все кто используют вуе есть там)
Dmitriy Sobolevskiy
@justty
Jul 06 2016 06:45 UTC
там тишина. а оч надо, я кину вдруг кто поможет

помогите немного разобраться с компонентом. Есть компонент Grid.vue , в проекте используется UIkit. В методе refreshPaginator пытаюсь получить доступ к Grid data и не получается, раньше было так (строка закомменчена)

$(".grid-pagination").on('select.uk.pagination', function (e, pageIndex) {
                    console.log(pageIndex);
                    //vm.$data.page = pageIndex + 1;
                });

То есть я из замыкания хочу получить доступ к this

Roman
@fearrr
Jul 06 2016 06:54 UTC
Всем привет, подскажите как лучше организовать поиск по товарам по нескольким полям в интернет-магазине?
KarmaBot
@KarmaBot
Jul 06 2016 06:54 UTC
@fearrr, и тебе привет ;)
Dmitriy Sobolevskiy
@justty
Jul 06 2016 07:04 UTC
решил. Спасибо. ну так кому интересно будет, не знаю почему из головы вылетело : передать контекст в обработчик можно было при помощи метода jQuery.proxy()
Германюк Тарас
@djtiomc_twitter
Jul 06 2016 07:09 UTC
Добрый день. Подскажите, может кто знает. Как на query builder
KarmaBot
@KarmaBot
Jul 06 2016 07:09 UTC
@djtiomc_twitter и тебе не хворать :)
Германюк Тарас
@djtiomc_twitter
Jul 06 2016 07:10 UTC
сделать EXPLAIN SELECT
?
Почему то ничего путнего не нагуглил
Alex Ilyenko
@assada
Jul 06 2016 07:20 UTC
DB::raw
Германюк Тарас
@djtiomc_twitter
Jul 06 2016 07:21 UTC
Спс. понял.
KarmaBot
@KarmaBot
Jul 06 2016 07:21 UTC
@djtiomc_twitter, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Германюк Тарас
@djtiomc_twitter
Jul 06 2016 07:21 UTC
@Assada спасибо
KarmaBot
@KarmaBot
Jul 06 2016 07:21 UTC
Спасибо (+1) для @Assada принято! Текущая карма +4.
Alexander
@Dualse
Jul 06 2016 07:23 UTC
@fearrr ?
->where()->where()->where()
Soprun Vladislav
@vlsoprun
Jul 06 2016 07:23 UTC
Всем бобра
KarmaBot
@KarmaBot
Jul 06 2016 07:23 UTC
@vlsoprun и тебе не хворать :)
Roman
@fearrr
Jul 06 2016 08:08 UTC
@Dualse по тексту тоже where?
Alexander
@Dualse
Jul 06 2016 08:11 UTC
@fearrr Ну если просто вхождение, то типа
where->('content', 'LIKE', '%'.$value.'%')
Roman
@fearrr
Jul 06 2016 08:19 UTC
@Dualse на сколько качественно будет работать данное решение? Мне необходимо чтобы когда юзер вбил производителя и тип тавара, вылазил именно товар у которого эти поля пересекаются, а еще он может опечататься и тп.
Ваня Devium
@webdevium
Jul 06 2016 08:20 UTC
добрых бобров мужики)
Alexander
@Dualse
Jul 06 2016 08:22 UTC
@fearrr Только точные вхождения. К примеру, если в строке Вася и Петя искать Вася Петя, то будет false. Ну и естественно, если пользователь о печатается, то не будет искать.
Soprun Vladislav
@vlsoprun
Jul 06 2016 08:23 UTC
@webdevium и тебе бобра )
Roman
@fearrr
Jul 06 2016 08:23 UTC
Нет ли какого-то пакета для организации адекватного поиска?
Ваня Devium
@webdevium
Jul 06 2016 08:24 UTC
elasticsearch в помощь
Soprun Vladislav
@vlsoprun
Jul 06 2016 08:24 UTC
или sphinxsearch
coolpage5
@coolpage5
Jul 06 2016 08:25 UTC
@fearrr разделяйте задачи поиск - одно, исправление ошибок юзера при поиске - совсем другое
Soprun Vladislav
@vlsoprun
Jul 06 2016 08:25 UTC
если много бобла и много лени то algolia
Roman
@fearrr
Jul 06 2016 08:33 UTC
@coolpage5 согласен, только я имел ввиду не исправление ошибок, а организация поиска побуквенного, который скажем выдаст совпадение если одна буква указана неверно или ее вообще пропустят
Ваня Devium
@webdevium
Jul 06 2016 08:34 UTC
левенштайн в помощь
Roman
@fearrr
Jul 06 2016 08:35 UTC
@vlsoprun спасибо, нет конечно столько бабла у проекта нет чтобы использовать последний вариант
KarmaBot
@KarmaBot
Jul 06 2016 08:35 UTC

Нахлебник

@fearrr, вы выполнили условие: "Сказать 50 раз "спасибо".".
С чем и поздравляем =)
Нахлебник
Спасибо (+1) для @vlsoprun принято! Текущая карма +190.
Roman
@fearrr
Jul 06 2016 08:36 UTC
:worried:
Alexander
@Dualse
Jul 06 2016 08:40 UTC
@vlsoprun У них вроде есть бесплатная версия
Soprun Vladislav
@vlsoprun
Jul 06 2016 08:53 UTC
@Dualse да есть, причем не маленькая
Для не большого проекта сойдет
mr G1K
@G1K
Jul 06 2016 09:04 UTC
@fearrr а у тебя случайно у магазина нет выгрузки в YML ? )
slider23
@slider23
Jul 06 2016 09:05 UTC
Чтобы поиск хорошо работал, надо базу данных подготавливать специальным образом. Чтобы то, что чел будет искать, было в индексах. Или делать отдельную БД для поиска, на elasticsearch или sphinx. А если ещё надо корректно обрабатывать опечатки - то это уже приличная инженерная задача.
mr G1K
@G1K
Jul 06 2016 09:07 UTC
@fearrr Если у тебя есть выгрузка в YML могу посоветовать поучаствовать в бете яндекса, сейчас идет збт в котором я участвую. Вполне сносный поиск с оформлением как на маркете , умеет исправлять опечатки искать бренды в разных вариантах как по русски так и латиница.
Примеры моих тестов
https://w6p.ru/NjBhOT.png
https://w6p.ru/NjFiZj.png
https://w6p.ru/ZDE2MD.png

https://w6p.ru/YjAyMD.png vs
https://w6p.ru/MjRhOG.png
Alexander
@Dualse
Jul 06 2016 09:09 UTC
@G1K Лучше оберни в код
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:09 UTC
@G1K ссылки заверни
slider23
@slider23
Jul 06 2016 09:09 UTC
Найс.
mr G1K
@G1K
Jul 06 2016 09:10 UTC
Запись на следующую волну ЗБТ
https://site.yandex.ru/catalogs/beta/
Alexander
@Dualse
Jul 06 2016 09:14 UTC
@G1K Аналог Algolia пилят?
mr G1K
@G1K
Jul 06 2016 09:17 UTC
@Dualse Ну не уверен что аналог, ибо поисковые технологии и движок у них есть, и есть маркет. Просто делают saas решение для бизнеса на основе файла YML для маркета который почти у всех уже есть
@fearrr Если у тебя есть YML ка могу подключить к своему кабинету и выдать js сник на котором можно тестировать результаты.
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:32 UTC
@Quiss а сколько зп?! :smile:
Andrey
@Quiss
Jul 06 2016 09:32 UTC
Обсуждаемо
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:32 UTC
А деньгами или дошираком ?! :satisfied:
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 09:37 UTC
@Quiss Laravel - это не MVC
// да будет срач
alexspi
@alexspi
Jul 06 2016 09:39 UTC
@SerafimArts фиг тебе
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 09:40 UTC
ну ок =(
но всё равно ларка - это ADR, а если в терминологии прикладных программ, то MVP
так же как и симфони
и Yii
gg wp ez
alexspi
@alexspi
Jul 06 2016 09:43 UTC
@SerafimArts ой , фсё
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 09:44 UTC
бугагашеньки
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:44 UTC
:smile:
Andrey
@Quiss
Jul 06 2016 09:49 UTC

А деньгами или дошираком ?! :satisfied:

Деньгами

@Quiss Laravel - это не MVC

Я прост свой акк отдал HRам

xD
80-130 вилка на ларку
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:52 UTC
@Quiss Опять деньги :worried:
Andrey
@Quiss
Jul 06 2016 09:52 UTC
Я могу лично тебе дошираком платить
xD
брать твою ЗП и платить дошираком
xD
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:52 UTC
@Quiss А программисты опять голодными будут :worried:
Andrey
@Quiss
Jul 06 2016 09:53 UTC

@Quiss А программисты опять голодными будут :worried:

Ешь деньги xD

Soprun Vladislav
@vlsoprun
Jul 06 2016 09:53 UTC
:satisfied:
@Quiss Мало того что голодными так еще и без денег, не пойду к тебе :smile:
Andrey
@Quiss
Jul 06 2016 09:54 UTC
слыш че))
не выеживайся ))
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:54 UTC
:smile:
Andrey
@Quiss
Jul 06 2016 09:54 UTC
часть ЗП на дошик буду забирать тебе
xD
договорились ?))
Сам лично буду покупать xD
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:55 UTC
А доставка бесплатная ?! :smile:
Andrey
@Quiss
Jul 06 2016 09:55 UTC
Та
в офис
xD
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:55 UTC
:+1: где там подпись поставить
alexspi
@alexspi
Jul 06 2016 09:55 UTC
а кипяточек?
Andrey
@Quiss
Jul 06 2016 09:55 UTC
Кипяточек около стола )
по умолчанию
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:56 UTC
О круто даже вставать не нужно
Andrey
@Quiss
Jul 06 2016 09:56 UTC
кароч, лан, флудить надоело) давай звони если интересно)
разрулим)
Pavel Kuzmin
@s00d
Jul 06 2016 10:29 UTC
Всем привет, Самый тупой случай на моей памяти. Есть Массив с конфигом. Беру элемент массива из конфига и меняю его, при этом меняется и оригинал... КАК О_О Пробовал вообще вынести из vue в отдельную константу и всеравно данные меняются....
KarmaBot
@KarmaBot
Jul 06 2016 10:29 UTC
@Virus191288, здравствуй.
Arsen Soroka
@arsen-s
Jul 06 2016 10:34 UTC
@s00d кажется не тот чат
Pavel Kuzmin
@s00d
Jul 06 2016 10:40 UTC
@arsen-s ага)) не успел удалить :(
Soprun Vladislav
@vlsoprun
Jul 06 2016 10:43 UTC
@s00d https://psv4.vk.me/c537511/u19160613/docs/0311a1f9d5cc/magic_meme.gif :smile:
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 10:51 UTC
@vlsoprun 404
Soprun Vladislav
@vlsoprun
Jul 06 2016 10:58 UTC
This message was deleted
Не смешная шутка когда что то не по плану https://drive.google.com/file/d/0B32yxh7tOJTiUVU2NEpQakIwOHc/view?usp=sharing
adminko
@adminko
Jul 06 2016 11:21 UTC
Если есть несколько контроллеров которым нужен один общий метод как это лучше организовать?
JhaoDa
@jhaoda
Jul 06 2016 11:38 UTC
@adminko если именно метод, то наследование/трейт
adminko
@adminko
Jul 06 2016 11:39 UTC
а в нем use Request уже сделать?
JhaoDa
@jhaoda
Jul 06 2016 11:40 UTC
@adminko в ком в нём?
adminko
@adminko
Jul 06 2016 11:42 UTC
@jhaoda в трейте
Pavel Kuzmin
@s00d
Jul 06 2016 11:42 UTC
@vlsoprun не на самом деле все логично. Чет я забыл что при присвоении объекта, присваиваеться только ссылка..
JhaoDa
@jhaoda
Jul 06 2016 11:43 UTC
@adminko ну где нужен класс, там и импорт делается
adminko
@adminko
Jul 06 2016 11:43 UTC
@jhaoda спасибо
KarmaBot
@KarmaBot
Jul 06 2016 11:43 UTC
Спасибо (+1) для @jhaoda принято! Текущая карма +1022.
Pavel Kuzmin
@s00d
Jul 06 2016 11:44 UTC
This message was deleted
Roman Fandeev
@mrFANRA
Jul 06 2016 12:21 UTC
Всем привет! В Blade шаблоне допускается использование php кода? В плане правильно ли это. В частности хочу в шапке шаблона методами класса выставить значение заголовков, мета данные и тд..
KarmaBot
@KarmaBot
Jul 06 2016 12:21 UTC
@mrFANRA, и тебе привет ;)
JhaoDa
@jhaoda
Jul 06 2016 12:29 UTC
@mrFANRA к классам можно и из блэйда обращаться
@mrFANRA но вообще — да.
Roman Fandeev
@mrFANRA
Jul 06 2016 12:30 UTC
@jhaoda ок, спасибо!
KarmaBot
@KarmaBot
Jul 06 2016 12:30 UTC
Спасибо (+1) для @jhaoda принято! Текущая карма +1023.
Soprun Vladislav
@vlsoprun
Jul 06 2016 12:34 UTC
@mrFANRA более того с 5.2.23 есть специальная секция @php думаю именно через нее необходимо работать.
Но для генерации "выставить значение заголовков, мета данные" стоит воспользоваться готовыми решениями например artesaos/seotools что значительно может упростить работу
Roman Fandeev
@mrFANRA
Jul 06 2016 12:35 UTC
ну собственно о нем и речь отчасти )
JhaoDa
@jhaoda
Jul 06 2016 12:44 UTC
@vlsoprun а как у шторма с подсветкой синтаксиса кода внутри этой секции?
Soprun Vladislav
@vlsoprun
Jul 06 2016 12:45 UTC
@jhaoda не знаю, ее так и не попробовал ))
Просто помню что не так давно она релизнулась
Ваня Devium
@webdevium
Jul 06 2016 12:58 UTC
Мужики, у меня тут такой момент странный получился: мои IOS разработчики не могут отправлять мне по API фотки как фотки. Могут только в base64. Так вот вопрос: норм передавать данные в base64 или это полный шиткод?
Сорри, что типа оффтоп) Но API на ларе написан))
JhaoDa
@jhaoda
Jul 06 2016 13:00 UTC
@webdevium чем они это мотивируют?
Ваня Devium
@webdevium
Jul 06 2016 13:01 UTC
@jhaoda типа яблоко ( или язык, я хз ) вообще не позволяет передавать массивы
как по мне, попахивает бредом
JhaoDa
@jhaoda
Jul 06 2016 13:02 UTC
@webdevium а при чем тут массив? Пусть по одном файлу кидают
Впрочем, я общался с яблокодером, его «требования» меня порой вгоняли в ступор...
Ваня Devium
@webdevium
Jul 06 2016 13:03 UTC
@jhaoda Если файлов 10 - 10 запросов? Не пойдет, у меня еще сопроводительные данные. Это все "одна транзакция" типа
JhaoDa
@jhaoda
Jul 06 2016 13:03 UTC
@webdevium ну тады ой
Ваня Devium
@webdevium
Jul 06 2016 13:04 UTC
ай?
JhaoDa
@jhaoda
Jul 06 2016 13:04 UTC
@webdevium ну пусть передают как могут, если не врут
Ваня Devium
@webdevium
Jul 06 2016 13:05 UTC
@jhaoda а на практике binary vs base64. У меня же нагрузка большая будет, повлияет?
JhaoDa
@jhaoda
Jul 06 2016 13:05 UTC
@webdevium никогда не пробовал, не могу сказать
Ваня Devium
@webdevium
Jul 06 2016 13:07 UTC
@jhaoda принято, сенкс
KarmaBot
@KarmaBot
Jul 06 2016 13:07 UTC

Благодарный

@webdevium, вы выполнили условие: "Высказать 20 благодарностей.".
С чем и поздравляем =)
Благодарный
Спасибо (+1) для @jhaoda принято! Текущая карма +1024.
Ваня Devium
@webdevium
Jul 06 2016 13:07 UTC
я прочитал "Благородный" :) Думаю, ничесе
Ivan
@Hunternnm
Jul 06 2016 13:11 UTC
@jhaoda 1024... килокарма таки
JhaoDa
@jhaoda
Jul 06 2016 13:11 UTC
@Hunternnm точняк!
Maxim
@Big-Shark
Jul 06 2016 13:11 UTC
@jhaoda может тебе пока писать 1мб)
@webdevium норм, я недавно загрузку себе через апи сделал через бейс 64
@webdevium да там около 20 процентов оверхед, так что пофиг.
Ваня Devium
@webdevium
Jul 06 2016 13:18 UTC
@Big-Shark вот если бы минус 20 - было бы ок, а так - печалька получается
Maxim
@Big-Shark
Jul 06 2016 13:20 UTC
@webdevium думаешь это сильно скажется? Зато можно много картинок слать в одном сообщении + еще всякие плюшки
Ваня Devium
@webdevium
Jul 06 2016 13:22 UTC
@Big-Shark 20% на 5 фоток === еще одну фотку можно было прислать. Бяка.
JhaoDa
@jhaoda
Jul 06 2016 13:23 UTC
@Big-Shark @webdevium а гзиповать?
Maxim
@Big-Shark
Jul 06 2016 13:23 UTC
@jhaoda хз, меня эти 20 процентов вообще не парят
Ваня Devium
@webdevium
Jul 06 2016 13:23 UTC
@jhaoda они не могут массивом отправить. Думаешь, они знают как зиповать?)))))))))))))))))))))))))
JhaoDa
@jhaoda
Jul 06 2016 13:24 UTC
@webdevium а плетей им всыпать?
Ваня Devium
@webdevium
Jul 06 2016 13:25 UTC
@jhaoda да им вообще лицо в томатную пасту нужно)))))
Ivan
@Hunternnm
Jul 06 2016 13:25 UTC
iOS девелоперы вообще не от мира сего какие-то
Ваня Devium
@webdevium
Jul 06 2016 13:25 UTC
шучу
Ivan
@Hunternnm
Jul 06 2016 13:25 UTC
такие вещи иногда загоняют что попутать можно вообще
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 13:25 UTC
@jhaoda я тут себе наклеечку надыбал на ноут, о тебе вспоминая...
https://pp.vk.me/c630220/v630220981/385ae/sZmRHwjYTBM.jpg
Ivan
@Hunternnm
Jul 06 2016 13:26 UTC
@SerafimArts я тоже такую себе хочу! Где брал???
Maxim
@Big-Shark
Jul 06 2016 13:26 UTC
@SerafimArts тебе срочно надо выслать копию для @jhaoda
JhaoDa
@jhaoda
Jul 06 2016 13:26 UTC
И ноут высылайте, а то клеить некуда
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 13:26 UTC
@Hunternnm корпоративная халява
яж в секте свидетелей амперсанда состою
Maxim
@Big-Shark
Jul 06 2016 13:27 UTC
@webdevium насколько я понимаю там нельзя просто так отправить плейтом, поэтому и рекомендуется использовать бейс64.
Ivan
@Hunternnm
Jul 06 2016 13:29 UTC
@SerafimArts обломал...
Ваня Devium
@webdevium
Jul 06 2016 13:29 UTC
@Big-Shark ладн. Буду пытаться их убедить нарыть решение
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 13:30 UTC
@Big-Shark для @jhaoda я вышлю "В любой непонятной ситуации читай доки"
Ваня Devium
@webdevium
Jul 06 2016 13:39 UTC
@jhaoda я там был, и они мне этот код показывали. Спонтом, там тоже через base64
JhaoDa
@jhaoda
Jul 06 2016 13:39 UTC
@webdevium там же ни слова про base64
Ваня Devium
@webdevium
Jul 06 2016 13:39 UTC
@jhaoda они меня убеждают, что где-то там есть скрытая конвертация
dzham
@dzham
Jul 06 2016 13:40 UTC
всем привет
KarmaBot
@KarmaBot
Jul 06 2016 13:40 UTC
@dzham, здравствуй.
dzham
@dzham
Jul 06 2016 13:40 UTC
никто не встречал проект laravel + vue с ролями?
JhaoDa
@jhaoda
Jul 06 2016 13:41 UTC
@webdevium ну только если так
@webdevium https://charangiri.wordpress.com/2014/09/22/how-to-upload-multiple-image-to-server/ серверная часть, конечно, обработку нескольких файлов не показывает, но и никакого декодинга base64 нету
Ваня Devium
@webdevium
Jul 06 2016 13:51 UTC
@jhaoda мои почуствовали, что счас буду рвать на части и свалили домой
завтра всуну в зубы пример)))
Maxim
@Big-Shark
Jul 06 2016 13:53 UTC
@webdevium @jhaoda для меня косяк в том что это работает только при измененом контент тайп, а я меня джесон апи, так что контент тайп жестко зобит, мне нужно было вместе с файлами принимать и другую инфу
@webdevium но если тебе это не надо, то можно отправлять и так
Ваня Devium
@webdevium
Jul 06 2016 13:55 UTC
корочь, завтра буду пинать, пускай рожают решение
Dmitriy
@dandandan1983
Jul 06 2016 13:57 UTC
Всем привет. Подскажите пожалуйста по роутам. Сделал 2 роута. Получается так, что если первый не выполняется, то управление переходит второму, а мне не нужно, чтобы при совпадении урла слово compare переходило на второй роут. Надо чтобы выдавал 404 . Не могу придумать регулярку.
Route::get('compare/{car1}-vs-{car2}.html', [
    'as' => 'showTwo', 'uses' => 'CompareController@showTwo'
])
    ->where( [ 'car1' => '[0-9]+', 'car2' => '[0-9]+'] );

Route::get('{car_type}/{marka}.html', [
    'as' => 'marka', 'uses' => 'MarkaController@showMarkaModels'
]);
KarmaBot
@KarmaBot
Jul 06 2016 13:57 UTC
@dandandan1983, привет =)
Vladimir Yuldashev
@vyuldashev
Jul 06 2016 13:57 UTC
никто не хочет скинуться на https://leanpub.com/vue ?
Ваня Devium
@webdevium
Jul 06 2016 13:59 UTC
@dandandan1983 я вот прям помог бы тебе, но ты сам то понял что написал?
Soprun Vladislav
@vlsoprun
Jul 06 2016 13:59 UTC
@vladimir-yuldashev https://gitter.im/vuejs-ru/Discussion лучше там написать
Vladimir Yuldashev
@vyuldashev
Jul 06 2016 13:59 UTC
@vlsoprun %)
Dmitriy
@dandandan1983
Jul 06 2016 14:00 UTC
надо чтобы 2ой роут срабатывал всегда кроме, когда в урле идет слово ^compare/ , если не сработал первый.
может так понятнее будет :-)
/compare/4784-vs-3153.html

для такого урла срабатывает первый роут

/compare/4784SDF-vs-3153.html
для такого срабатывает второй, хотя должна быть 404

Ваня Devium
@webdevium
Jul 06 2016 14:04 UTC

так сделай для второго урла
{car_type} != 'compare'

и будет тебе счазтье

Dmitriy
@dandandan1983
Jul 06 2016 14:05 UTC

@webdevium а где это прописать?

->where( [{car_type} != 'compare'] );

Так ?
Ваня Devium
@webdevium
Jul 06 2016 14:05 UTC
@dandandan1983 хотя нет, стоп, фигню тебе морознул
Soprun Vladislav
@vlsoprun
Jul 06 2016 14:05 UTC
@dandandan1983 :+1: :smile:
Ваня Devium
@webdevium
Jul 06 2016 14:05 UTC
car_type каким бывает?
JhaoDa
@jhaoda
Jul 06 2016 14:06 UTC
@dandandan1983 ты регулярки вообще не знаешь? Хотя судя по коду выше, вроде бы, знаешь...
Dmitriy
@dandandan1983
Jul 06 2016 14:06 UTC
\w
знаешь . Я не знаю как исключить слово конкретное
Ваня Devium
@webdevium
Jul 06 2016 14:06 UTC
тупо слово напиши, конкретное
JhaoDa
@jhaoda
Jul 06 2016 14:06 UTC
@dandandan1983 ну тогда как тебе могло прийти в голову ->where( [{car_type} != 'compare'] );?
Dmitriy
@dandandan1983
Jul 06 2016 14:07 UTC
мне выше посоветовали ))
JhaoDa
@jhaoda
Jul 06 2016 14:07 UTC
@dandandan1983 тебе прям эту строку написали? Нет, ты сам решил, что её в таком виде надо вставить в where
Dmitriy
@dandandan1983
Jul 06 2016 14:08 UTC
да. Я сам. Я не знаю куда ее поставить
JhaoDa
@jhaoda
Jul 06 2016 14:08 UTC
@dandandan1983 говоришь, что знаешь регулярки, но эта строка у тебя никаких подозрений не вызвала, да?
Dmitriy
@dandandan1983
Jul 06 2016 14:08 UTC
Route::get('{car_type}!='compare'/{marka}.html', [
JhaoDa
@jhaoda
Jul 06 2016 14:09 UTC
@dandandan1983 ты троллишь, да?
Dmitriy
@dandandan1983
Jul 06 2016 14:09 UTC
нет.
dzham
@dzham
Jul 06 2016 14:09 UTC
:smile:
Soprun Vladislav
@vlsoprun
Jul 06 2016 14:09 UTC
@dandandan1983 :+1: :smile:
Dmitriy
@dandandan1983
Jul 06 2016 14:09 UTC
так сделай для второго урла
{car_type} != 'compare'
Soprun Vladislav
@vlsoprun
Jul 06 2016 14:10 UTC
Пойду застрелюсь кофе сделаю, а то мой мозг от такого условия завис
Dmitriy
@dandandan1983
Jul 06 2016 14:10 UTC
я плохо представляю куда это вставить ((((
JhaoDa
@jhaoda
Jul 06 2016 14:11 UTC
'MarkaController@showMarkaModels' а чо не 'MarkaController@pokazhiMarkaModeli'?
Soprun Vladislav
@vlsoprun
Jul 06 2016 14:11 UTC
@jhaoda :satisfied:
Dmitriy
@dandandan1983
Jul 06 2016 14:13 UTC
Route::get('{car_type}/{marka}.html', [
    'as' => 'marka', 'uses' => 'MarkaController@showMarkaModels'
])
    ->where( [ 'car_type' => '^[^c]{1}[^o]{1}[^m]{1}[^p]{1}[^a]{1}[^r]{1}[^e]{1}'] );
;
Пробовал вот так, но тогда для других урлов второй роутер не срабатывает.
Soprun Vladislav
@vlsoprun
Jul 06 2016 14:14 UTC
Мне кажется что pokazhiMarkaModeli более гармонично
JhaoDa
@jhaoda
Jul 06 2016 14:14 UTC
@vlsoprun тёплый ламповый православный метод
Soprun Vladislav
@vlsoprun
Jul 06 2016 14:15 UTC
@jhaoda да да!!
Arsen Soroka
@arsen-s
Jul 06 2016 14:15 UTC
ребят как такое может быть что на сервер GET параметры не работают
$request->all() - пуст, $_GET пуст
JhaoDa
@jhaoda
Jul 06 2016 14:15 UTC
@arsen-s теоретически — да, а практически — нет
Точнее, вероятность, что виноват сервер составляет где-то 0.0001%
Arsen Soroka
@arsen-s
Jul 06 2016 14:17 UTC
куда смотреть?
на локале все норм, запушил на сервак - а там трабл
Dmitriy
@dandandan1983
Jul 06 2016 14:24 UTC
всем спасибо решил так
    ->where( [ 'car_type' => '(?!(compare)).*' ] );
Soprun Vladislav
@vlsoprun
Jul 06 2016 14:29 UTC
@dandandan1983 "решил " до того момента пока не появиться новый маршрут
JhaoDa
@jhaoda
Jul 06 2016 14:36 UTC
Кто работал с preflight-запросами, которые OPTIONS? И с https://github.com/barryvdh/laravel-cors
Я вот малость не понял, как этот пакет их обрабатывает, если не объявлен роут с таким методом. Я как ни бился, у меня всегда 404, хоть и с нужными заголовками, т.е. мидлваря отрабатывает
Ваня Devium
@webdevium
Jul 06 2016 14:40 UTC
там же есть хрень для подмены, _method, не то?
JhaoDa
@jhaoda
Jul 06 2016 14:41 UTC
@webdevium абсолютно
Ваня Devium
@webdevium
Jul 06 2016 14:41 UTC
@jhaoda это хорошо)))
Evgeniy Perin
@seoperin
Jul 06 2016 14:45 UTC
Привет, а можно стандартными методами отвалидировать следующее:
Есть сериал, к сериалу добавляется серия с полями 'season' и 'serial_id', хочу отвалидировать чтобы нельзя было добавить серию с существующей парой сезон-сериал
KarmaBot
@KarmaBot
Jul 06 2016 14:45 UTC
@seoperin, привет, как настроение?
Evgeniy Perin
@seoperin
Jul 06 2016 14:45 UTC
Или надо писать своё правило валидации?
Roman Fandeev
@mrFANRA
Jul 06 2016 14:47 UTC
Подскажите по Blade еще. Есть какая то переменная у него, считающая порядковый номер цикла foreach? Или по старинке тоже создает counter и ++ его каждый раз?
Evgeniy Perin
@seoperin
Jul 06 2016 14:49 UTC
@mrFANRA в 5.3 вроде будет переменная $loop
@mrFANRA сейчас насколько знаю нет
Roman Fandeev
@mrFANRA
Jul 06 2016 14:50 UTC
@seoperin ясн, спасибо
KarmaBot
@KarmaBot
Jul 06 2016 14:50 UTC
Спасибо (+1) для @seoperin принято! Текущая карма +32.
Ivan
@Hunternnm
Jul 06 2016 14:50 UTC
@mrFANRA юзай for тогда
Roman Fandeev
@mrFANRA
Jul 06 2016 14:50 UTC
да уж проще counter
Ivan
@Hunternnm
Jul 06 2016 14:50 UTC
если шибко нужна такая штука...
Ваня Devium
@webdevium
Jul 06 2016 14:52 UTC
Storage::disk('s3')->put($folder . '/' . $image['key'], Storage::get($image['src']));
Exeption FileNotFound, хотя файл прямо с браузера открывается легко.
В каком символе я дебил?
Arsen Soroka
@arsen-s
Jul 06 2016 15:24 UTC

@jhaoda

Точнее, вероятность, что виноват сервер составляет где-то 0.0001%

проблема была в nginx все таки

JhaoDa
@jhaoda
Jul 06 2016 15:24 UTC
@arsen-s в nginx или в его конфиге?
Arsen Soroka
@arsen-s
Jul 06 2016 15:24 UTC
@jhaoda в его конфиге конечно
JhaoDa
@jhaoda
Jul 06 2016 15:24 UTC
@arsen-s а конфиг кто писал/правил?
Arsen Soroka
@arsen-s
Jul 06 2016 15:24 UTC
хз
@jhaoda конфиг nginx попадает в эту вероятность?
JhaoDa
@jhaoda
Jul 06 2016 15:26 UTC
@arsen-s у меня, например, nginx из коробки работает как часы, так что попадает, но краешком
Больше попадает в «1% — кривые руки настройщиков»
Soprun Vladislav
@vlsoprun
Jul 06 2016 16:00 UTC
@webdevium в корне FileNotFound
Ваня Devium
@webdevium
Jul 06 2016 16:02 UTC
@vlsoprun нифига. Файл есть.
Soprun Vladislav
@vlsoprun
Jul 06 2016 16:02 UTC
@webdevium тогда ошибки нет
Ваня Devium
@webdevium
Jul 06 2016 16:03 UTC
@vlsoprun трабл вот в чем. Storage::get() почему-то пытается найти файл не в /var/www/blabla, а в var/www/blabla. Я хз почему-так
JhaoDa
@jhaoda
Jul 06 2016 16:14 UTC

@webdevium

не в /var/www/blabla, а в var/www/blabla

???

Ваня Devium
@webdevium
Jul 06 2016 16:14 UTC
я в Storage::get() бросаю со стартовым слешом, абсолютный путь, но в ексепшине пишет без стартового слеша
Артем Кимашевский
@temx1_twitter
Jul 06 2016 17:02 UTC
Ребят, в каком файле редактируются роуты стандартной авторизации?
adminko
@adminko
Jul 06 2016 17:05 UTC
Господа, написать свою консольную команду для кронов нормальное решение?
Ваня Devium
@webdevium
Jul 06 2016 17:06 UTC
@adminko schedule используй, не городи велосипеды
adminko
@adminko
Jul 06 2016 17:07 UTC
@webdevium оттуда я буду их запускать по-моему изящно. Почему не стоит?
Ваня Devium
@webdevium
Jul 06 2016 17:08 UTC
@adminko я думал ты плодить крон-записи собрался)))
adminko
@adminko
Jul 06 2016 17:09 UTC
@webdevium по расписанию буду запускать комманды, которые будут содержать логику че надо делать
Ваня Devium
@webdevium
Jul 06 2016 17:09 UTC
@adminko но крон запись будет одна? на schedule? Верно?
adminko
@adminko
Jul 06 2016 17:10 UTC
@webdevium две команды
1 раз всутки 2 чаще
Rolfsskiv
@Rolfsskiv
Jul 06 2016 17:29 UTC
Добрый вечер
KarmaBot
@KarmaBot
Jul 06 2016 17:29 UTC
О! @Rolfsskiv! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Rolfsskiv
@Rolfsskiv
Jul 06 2016 17:29 UTC
Подскажите что лучше использовать чтобы юзера определить Auth::user() или $request ->user() , есть ли какая-то разница?
adminko
@adminko
Jul 06 2016 17:32 UTC
как описать несколько команд типа cron:daily cron:hourly etc чтобы отдавать в php artisan list красиво?
JhaoDa
@jhaoda
Jul 06 2016 18:03 UTC
@Rolfsskiv никакой
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 18:06 UTC
почему же, есть
одно через сервис локатор, другое через инжект гвард сервиса в реквест
вроде как
JhaoDa
@jhaoda
Jul 06 2016 18:07 UTC
@SerafimArts и?
Инжекта там нет, если уж хочешь до сути докопаться. https://github.com/laravel/framework/blob/5.2/src/Illuminate/Auth/AuthServiceProvider.php#L85
adminko
@adminko
Jul 06 2016 18:12 UTC
я начинаю уважать ларавель. команды это круто, карбон это круто, связи это круто. жееесть :)
@adminko скажи "спасибо" тейлору
@taylorotwell спасибо
KarmaBot
@KarmaBot
Jul 06 2016 18:13 UTC
Спасибо (+1) для @taylorotwell принято! Текущая карма +5.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 18:42 UTC
@jhaoda блин
тоже сервислокатор
kadio9365
@kadio9365
Jul 06 2016 19:06 UTC
Всем привет
KarmaBot
@KarmaBot
Jul 06 2016 19:06 UTC
Приветствую тебя, @kadio9365!
kadio9365
@kadio9365
Jul 06 2016 19:08 UTC
сижу туплю, есть категории вида +Кат1
++Кат1.1
+++Кат1.1.1
+++Кат1.1.2
++Кат2.1
+++Кат2.1.1
+++Кат2.1.2
(Все это файл)
Есть БД с полями
id
name
parent_id
запутался в общем с рекурсией. Категорий куда больше и вложенность так же больше. Кто-что подскажет, может как проще сделать можно? (вариант не должен быть универсальным. То есть он должен брать определенную вложенность к примеру 5
This message was deleted
This message was deleted
Andrei Sosnov
@atehnix
Jul 06 2016 19:15 UTC
@kadio9365 см. тут.
Arsen Soroka
@arsen-s
Jul 06 2016 19:23 UTC
ребят можно ли/ и где для разных ошибок(401, 403, 404) - задать свой текст ошибки?
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:23 UTC
@arsen-s да
Arsen Soroka
@arsen-s
Jul 06 2016 19:24 UTC
@vlsoprun кинешь ссылку где можно почитать об этом?
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:24 UTC
@arsen-s resources\views\errors\404.blade.php 403, 500 и т.д. аналогично
Arsen Soroka
@arsen-s
Jul 06 2016 19:25 UTC
у меня API,
Это приходит в ответе: Status Code:401 Unauthorized - я хочу что то вроде '401 Access denied - you are bla-bla'
JhaoDa
@jhaoda
Jul 06 2016 19:28 UTC
@arsen-s откуда нам знать, кто и где выдаёт это сообщение? Ищи, где найдешь, там и меняй
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:28 UTC

@arsen-s эм... есть название заголовков и их значение Wiki

"401 Access denied - you are bla-bla" это сообщение ты можешь выводить/ называть и красить в любой цвет....

JhaoDa
@jhaoda
Jul 06 2016 19:32 UTC
@vlsoprun это может выдавать мидлваря ларавель, мидлваря какого-нибудь пакета, валидатор, обработчик ошибок etc
Arsen Soroka
@arsen-s
Jul 06 2016 19:33 UTC
@jhaoda вот именно что мне не нужно знать кто выдает, мне надо поменять текст который там по дефолту('Unauthorized', 'Not Found')
т.е генерить свои сообщение
JhaoDa
@jhaoda
Jul 06 2016 19:34 UTC
@arsen-s не получится
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:34 UTC
@arsen-s throw new HttpException('401 Access denied - you are bla-bla') ?
JhaoDa
@jhaoda
Jul 06 2016 19:34 UTC
Можно написать мидлварю, которая будет ловить ВСЕ ответы и менять статусы на правильные
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 19:34 UTC
@vlsoprun *HttpException
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:35 UTC
@SerafimArts сори
Arsen Soroka
@arsen-s
Jul 06 2016 19:35 UTC
@vlsoprun я это хочу сделать глобально
JhaoDa
@jhaoda
Jul 06 2016 19:36 UTC
@arsen-s а вообще ты какую-то фигню делаешь
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:36 UTC
@arsen-s Создай свой exception
JhaoDa
@jhaoda
Jul 06 2016 19:36 UTC
@vlsoprun ты не понимаешь, да?
Arsen Soroka
@arsen-s
Jul 06 2016 19:36 UTC
@jhaoda вывести на 401 ошибку не Unauthorized - а свой текст - это фигня?
Andrei Sosnov
@atehnix
Jul 06 2016 19:37 UTC
@arsen-s можно в Exceptions/Handler ловить исключения и возвращать нужный ответ на клиент. Но это если код, который эти ошибки возвращает, бросает соответствующие исключения.
JhaoDa
@jhaoda
Jul 06 2016 19:37 UTC
@arsen-s ты не текст хочешь вывести, а подменить http status text
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:37 UTC
@jhaoda ну а что ?!)) я бы даже не парился по поводу другого bla-bla ))
JhaoDa
@jhaoda
Jul 06 2016 19:37 UTC
@atehnix а оно может и в обход хэндлера быть
Andrei Sosnov
@atehnix
Jul 06 2016 19:38 UTC
@jhaoda поэтому в моем предложении есть слово "если" ;)
Arsen Soroka
@arsen-s
Jul 06 2016 19:39 UTC
@jhaoda да правильно, подменить http status text - такое ник то не делал? просто сам делаю впервые
JhaoDa
@jhaoda
Jul 06 2016 19:39 UTC
@arsen-s короче, я написал выше единственный вариант, который покроет всё
Но делать так не надо
Soprun Vladislav
@vlsoprun
Jul 06 2016 19:39 UTC
И я такого же мнения ))
JhaoDa
@jhaoda
Jul 06 2016 19:41 UTC
Надо делать, например, так:
401 Unauthorized
{
    "message": "Hacker?",
}
Arsen Soroka
@arsen-s
Jul 06 2016 19:42 UTC
понял, передумал я что то делать, пусть будут дефолтные текста
adminko
@adminko
Jul 06 2016 19:45 UTC
в ларе есть smtp доступами которого можно управлять из кода?
JhaoDa
@jhaoda
Jul 06 2016 19:47 UTC
@adminko шо?
adminko
@adminko
Jul 06 2016 19:48 UTC
@jhaoda мне надо отправлять письма с разных ящиков, на борту есть smtp доступы
JhaoDa
@jhaoda
Jul 06 2016 19:49 UTC
@adminko ну меняй в конфиге параметры на лету и отправляй
adminko
@adminko
Jul 06 2016 19:51 UTC
типа env переопределять перед отправкой?
JhaoDa
@jhaoda
Jul 06 2016 19:52 UTC
@adminko при чем тут .env?
adminko
@adminko
Jul 06 2016 19:53 UTC
в документации нет ничего о конфиге smtp кроме как оттуда
через config/mail.php
Andrei Sosnov
@atehnix
Jul 06 2016 19:53 UTC
@adminko configuration
JhaoDa
@jhaoda
Jul 06 2016 19:53 UTC
@adminko и? Я же сказал — меняй параметры в конфиге на лету
@adminko доку игноришь, да? Плохая привычка...
adminko
@adminko
Jul 06 2016 19:54 UTC
как то это не кошерно конфиги править на лету, поищу обертку для php mailer
JhaoDa
@jhaoda
Jul 06 2016 19:55 UTC
@adminko чем это некошерно? Или ты думаешь, что эти новые значения в файл конфига запишутся?:)
adminko
@adminko
Jul 06 2016 19:57 UTC
да не запишутся, просто как то для того чтобы разово воспользоваться доступами толкать доступы через глобальный конфиг как то неправильно, как через сессию или GLOBAL
JhaoDa
@jhaoda
Jul 06 2016 19:59 UTC
@adminko ок, тогда ответ на твой вопрос — нет.
adminko
@adminko
Jul 06 2016 20:15 UTC
а как то не отдавать шаблон в письмо можно? я в переменной уже все подготовил
Andrei Sosnov
@atehnix
Jul 06 2016 20:17 UTC
@adminko Mail::raw()
adminko
@adminko
Jul 06 2016 20:18 UTC
Прошу прощения у всех
Soprun Vladislav
@vlsoprun
Jul 06 2016 20:25 UTC
Не знаю как сформулировать свой вопрос.. Короче вы используете doctrine в laravel или только eloquent ?
JhaoDa
@jhaoda
Jul 06 2016 20:30 UTC
@vlsoprun ага :)
adminko
@adminko
Jul 06 2016 20:30 UTC
Ох парни такое написал, экспы хапанул, перебор
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 20:35 UTC
@vlsoprun откажись от доктрины пока не поздно =)

потом ты осознаешь, что в доктрине:

  • нельзя персистить энтити без явного указания PK
  • нельзя делать релейшены без участия PK
  • нельзя явно указывать id для релейшена
  • невозможно сериализовывать энтити в полуавтоматическом режиме
  • невозможно строить нормальные запросы без dql (sql) и джоинов, иначе получишь N+1

и т.д.

Виталя
@ferraghue
Jul 06 2016 20:38 UTC
Привет. Есть вопрос по ENV. Он мержит массив с конфигом в $_SERVER насколько это секьюрно и как не просрать конфиги ))
KarmaBot
@KarmaBot
Jul 06 2016 20:38 UTC
@mrfanta, привет =)
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 20:39 UTC
@mrfanta если не будешь фигачить ансекьюрные функции, вроде phpinfo() то никаких проблем
Виталя
@ferraghue
Jul 06 2016 20:40 UTC
@SerafimArts на сервере закрыто подобное, вплоть до exec, eval
Andrei Sosnov
@atehnix
Jul 06 2016 20:41 UTC
@SerafimArts есть лучше Data Mapper ORM ? ;)
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 20:44 UTC
@mrfanta exec закрыт?
а как ты композер запускаешь?
@atehnix ну мне аналог больше нравится, хотя там есть свои траблы
короче элоквент - самая гибкая шняжка
Soprun Vladislav
@vlsoprun
Jul 06 2016 20:46 UTC
@SerafimArts @atehnix @jhaoda спасибо парни
KarmaBot
@KarmaBot
Jul 06 2016 20:46 UTC
Спасибо (+1) для @SerafimArts принято! Текущая карма +501.
Спасибо (+1) для @atehnix принято! Текущая карма +109.
Спасибо (+1) для @jhaoda принято! Текущая карма +1025.
JhaoDa
@jhaoda
Jul 06 2016 20:46 UTC
Только вот элоквент не DM, а так всё ок, да :)
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 20:47 UTC
DM не нужен в 99% случаях
Soprun Vladislav
@vlsoprun
Jul 06 2016 20:49 UTC
dm то мне нравиться то сильно напрягает...
Виталя
@ferraghue
Jul 06 2016 20:50 UTC
@SerafimArts не запускаю, зачем мне запускать на продакшене композер в проекте? У меня глобавльный композер.
стоит ларавель в одном месте со всем что мне нужно, и используется под несколько проектов.
Трафик дорогой в Эвропе гонять композером туда сюда мегабайты
dihalt
@dihalt
Jul 06 2016 22:09 UTC

Мужики, в коллекции каждому ключу соотв. массив. Получая какую-то одну позицию, я получаю её вместе с ключом. Типа:

{#20 ▼
  +"9": array:10 [▼
    "param1" => "123"
    "param2" => "0"
  ]
}

А есть ли способ красиво выдернуть сам массив без ключа? При том, что ключ заранее не известен. Некрасиво и сам могу) Или, как вариант, вытащит в объединённом формате, чтобы ключ попал в состав массива.

Alexander Zhuravlev
@SCIF
Jul 06 2016 22:22 UTC
@dihalt , а по какому критерию выдёргивать массив? И как ты получаешь, разве не $collection->get()?
dihalt
@dihalt
Jul 06 2016 22:23 UTC
@SCIF я его беру через ->where('param1', 123). Это необходимое условие. Гет не подойдёт, ключ заранее не известен.
MrImphobia #TTC_RU
@MrImphobia_twitter
Jul 06 2016 22:25 UTC
@adminko нужна твоя помощь
Alexander Zhuravlev
@SCIF
Jul 06 2016 22:25 UTC
@dihalt , ну так и как ты хочешь выбирать из коллекции? То, что показал ты — это просто фильтрация по вхере. Оно должно возвращать массив, т.к. моделей может быть несколько. Если ты уверен, что одна, то юзай просто ->where()->first()
dihalt
@dihalt
Jul 06 2016 22:28 UTC
@SCIF йпт, точняк, спс! А такого что, бы и рыбку съесть ключ получить и массив в одном - не?))
@SCIF а чойто тебе спасибо не засчитали?
Alexander Zhuravlev
@SCIF
Jul 06 2016 22:29 UTC
@dihalt не ко мне вопрос вестимо :) @SerafimArts , тут бот меня ущемляет. Уже второй день, кстати
JhaoDa
@jhaoda
Jul 06 2016 22:31 UTC
@dihalt потому что спасибо должно быть первым или последним словом
dihalt
@dihalt
Jul 06 2016 22:32 UTC
@jhaoda да ну? поменяли что-то?
@SCIF спасибо
KarmaBot
@KarmaBot
Jul 06 2016 22:32 UTC
Спасибо (+1) для @SCIF принято! Текущая карма +91.
JhaoDa
@jhaoda
Jul 06 2016 22:32 UTC
@dihalt всегда так было
Alexander Zhuravlev
@SCIF
Jul 06 2016 22:41 UTC
https://gitter.im/LaravelRUS/chat?at=577d6b8db79455146f4dc270 @SerafimArts , ты ничего не перепутал? В плане PK и связей в доктрине вполне неплохо, а конкретно связи, так намного адекватней элоквента
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:05 UTC
@SCIF нет, не перепутал
один из ключей релейшенов должен быть pk
иначе гг
плюс естественно в доктрине нельзя нормально кастомайзить релейшены
например добавлять where, group by и прочее
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:09 UTC

@SerafimArts

один из ключей релейшенов должен быть pk

Речь про define связей?

плюс естественно в доктрине нельзя нормально кастомайзить релейшены

Ты имеешь ввиду подгружать связи с каким-то условием, аля whereHas('relation', function($q) {$q->whereId()…})?

Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:09 UTC
@SCIF +1 +2
@SCIF т.е. например в элоквенте можно связать две модели, хоть по текстам (longtext)
где одна из связей должна быть со значением is_approved as example
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:11 UTC
@SerafimArts , 2) связать с вхере можно в доктрине, а вот выбирать в рантайме уже конечно придётся писать dql. 1) пример накинь плиз, что-то слабо верится
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:11 UTC
1) $this->belongsTo(Some::class, 'message', 'message')
2) ну вот и гг
имя поля поменялось - пол проекта отвалилось
в ларке так же, только имя поля в бд
но они реже меняются, нежели имена полей
т.е. навесить релейшн, например на геттер - не вариант
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:13 UTC

имя поля поменялось - пол проекта отвалилось

Имя поля в сущности? Это же дм — в базе меняй как хочешь, а уж у сущности блюди

Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:13 UTC
а в ларке - вполне вариант
@SCIF ну так проблема в том, что наоборот в разы чаще бывает
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:13 UTC
Ну так это же ограничения подхода дм. Зачем сравнивать трактор и самолёт???
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:13 UTC
повторю вывод
ДМ не нужен
он только в теории такой весь красивый
и при разработке водопадом
с полным техническим заданием
и TDD
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:14 UTC
Можно задавать кастомные связи. Т.е. условно $this->getStudents()и $this->getTeachers()
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:14 UTC
ага, а там внутри мы получаем репозиторий и делаем where
:D
даздравствует N+1
нам кстати так и пришлось в одном месте делать, т.к. по скорости не критично, а рефакторить бд долго
вот я и говорю, что доктрина либо для мелких проектов вполне, либо при годе проектировки и годе написания тестов фёрст
плюс запутаться можно запросто, когда работаешь бизнес-логикой
т.е. сложно найти что за что отвечает
ибо кто-то по быстрому накостылил и гг
даже по бд не посмотреть энтити, ибо область ответсвенности энтити может не совпадать с таблицей
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:18 UTC
В случае репозитория ессно это можно зарулить без +1 запроса.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:19 UTC
@SCIF но в таком случае нахрена вообще релейшены, когда есть репы и это их зона ответственности? ;)
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:20 UTC
@SerafimArts , для лейзи лоадинга редкого, либо игер 1-1, но там тоже какие-то ограничения.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:20 UTC
опять же, для этого есть репы
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:20 UTC
@SerafimArts , я не являюсь фанатом доктрины, но описанное тобой — частично неверно. И да, я согласен, что это боль.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:20 UTC
и это их область ответсвенности предоставлять данные
а не энтити
@SCIF ну я утрирую =)
сам же понимаешь
доктрина - вполне себе годный инструмент
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:22 UTC
Ну это, немного неправильно говорить, что не умеет. Эти вещи становятся болью. Да, это так. Жадная загрузка в рантайме, тоже боль. А ты до моего совета думал, что её просто нет, но и то, что есть — чистая боль, концентрированная. Километровые имена репов либо миллиард этих самих методов.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:22 UTC
но выбирая из морально устаревшей и плохоспроектированной доктрины и грамотно сделанным, но не тру-вей паттерном элоквента - я выбираю второе
т.к. элоквент не ограничивает меня подходами и идеологией
а прямые руки компенсируют шлак (высер километра методов на все случаи жизни) в родителе
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:24 UTC
@SerafimArts , я хз, но для чего-то более-менее серьёзного можно подумать и про пропел. У него со связями не такая срань, как в элоквенте. Это вообще надо додуматься сделать методы ->attach(),->associate(), бред блин
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:25 UTC
@SCIF это рельсы
ну т.е. это их методы
и связи
many2one естественно лучше и очевиднее, нежели belongsTo
Maxim
@Big-Shark
Jul 06 2016 23:25 UTC
@SerafimArts @SCIF а еще у пропел все хорошо с сохранением связанных объектов.
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:26 UTC
@Big-Shark , я про это и говорю
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:26 UTC
а мне посрать, я тупо айдишники сейвлю
:D
этож AR
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:26 UTC
Персист в элоквенте связей — это бред сивой кобылы
А идами сетапитьь связи — это вообще финиш
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:26 UTC
норм
слышь
еу
ты эта
:D
!!!111
Maxim
@Big-Shark
Jul 06 2016 23:27 UTC
@SerafimArts да блин, хватит писать по слову на строчку)
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:28 UTC
@SerafimArts , если бы он сделал нормально сохранение связей — то я даже никогда не подумал бы смотреть в пропел. А по факту, даже с учётом его старости и говнокода — он удобней работает со связями и ничем не уступает. Изредка случаются факапы и приходится ковыряться. По факту, это единственное чем он больше элоквента нравится.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:28 UTC
@Big-Shark смотри, а, если, писать, запятые, то, будет, круче, и, мне, нравится, как, в, ваших, головах, при, чтении, звучат, паузы, между, словами :D
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:29 UTC
Ну и идея схемы и что из неё генерить миграции и модели со связями, тоже прикольно
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:29 UTC
пффф
нашёл чем удивить :D
// спойлер: у меня для элоквента они генерятся
Maxim
@Big-Shark
Jul 06 2016 23:31 UTC
@SerafimArts но миграция у тебя не генерится)
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:31 UTC
неа
но можно
но влом
Maxim
@Big-Shark
Jul 06 2016 23:31 UTC
@SerafimArts и нельзя создать базу по схеме, и схему по базе
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:31 UTC
долго писать такое
а вот это можно
схему по базе
но я только драйвер на скулайта написал
простите за многострочные комменты
Maxim
@Big-Shark
Jul 06 2016 23:33 UTC
@SerafimArts ну вообще это интересная идея даже с элоквоентом, и я думаю если довести до ума, то будут пользоваться.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:33 UTC
согласен
Maxim
@Big-Shark
Jul 06 2016 23:36 UTC
@SerafimArts хотя я помню как ты потрогал схему пропела и сказал, да боже мой, тут хмл, фу, фу, фу
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:36 UTC
ну а вариантов лучше нет
хотя можно на json попробовать
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:37 UTC
Ммм. А можно схему пропела принять за схему и запилить генератор под элоквент.
Ну в хмл есть автодополнение, что существенно лучше джейсона
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:37 UTC
@SCIF да, именно так я и хочу сделать =)))
по-этому я и вырезал эту шняжку временно
Maxim
@Big-Shark
Jul 06 2016 23:38 UTC
@SerafimArts да, + к автодополнению
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:38 UTC
@SCIF но сгенерированные модели оставил https://github.com/SerafimArts/SerafimArts/blob/master/app/Domains/Article/Base/AbstractArticle.php
Maxim
@Big-Shark
Jul 06 2016 23:38 UTC
@SerafimArts косяк в том что не в юмл не в джесон этого нет, как и вложености как в хмл
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:39 UTC
в yml есть
с симфони плагином
Maxim
@Big-Shark
Jul 06 2016 23:39 UTC
@SerafimArts ну только для симфони)
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:39 UTC
можно туда костыли нафигачивать для автокомплита, тока тссс
Maxim
@Big-Shark
Jul 06 2016 23:40 UTC
@SerafimArts а меня бесят переменные, уже привык к гетерам.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:40 UTC
метод должен выполнять действие
поле должно предоставлять данные
геттеры - это изврат
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:41 UTC
Не, геттеры, это ок и ништяк
Maxim
@Big-Shark
Jul 06 2016 23:41 UTC
@SerafimArts пока в пхп нельзя писать нормальные гетеры и сетеры, удобней делать функции
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:41 UTC
@Big-Shark можно
@property-read ставишь и поле становится ридонли в ide
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:42 UTC
Ээээм. Можно, а на кой? Так со связями делается.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:42 UTC
а если заюзать вот это: https://github.com/SerafimArts/Properties то и не только в ide
пых сам начнёт ошибки кидать, если сет будет в ридонли поле
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:45 UTC
Блин, так а зачем, объясните плиз
Не понимаю на кой иметь геттеры через свойства, а сеттеры функциями
Maxim
@Big-Shark
Jul 06 2016 23:47 UTC
@SCIF почему через функции?
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:47 UTC
@SCIF почему через функции?
Maxim
@Big-Shark
Jul 06 2016 23:47 UTC
@SerafimArts ну идея интересная, но тогда надо делать все эти функции как protected, а то получится 2 вариант вызова
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:48 UTC
@Big-Shark ну а по другому пых не позволяет
точнее позволяет, но через кодогенерацию
Sergey
@seriy-coder
Jul 06 2016 23:48 UTC
всем привет!)
KarmaBot
@KarmaBot
Jul 06 2016 23:48 UTC
@seriy-coder, ну рассказывай. Как жизнь? :)
Maxim
@Big-Shark
Jul 06 2016 23:48 UTC
@SerafimArts почему?
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:49 UTC
@Big-Shark ну потому что нужен перехват
а если поле паблик, то доступ к нему не перехватить
@seriy-coder йо, полуночник =)
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:49 UTC
Ничего не понимаю. Вы тут предлагаете сделать свойства read-only. А как тогда обновлять данные?
Maxim
@Big-Shark
Jul 06 2016 23:50 UTC

@SerafimArts

        // Try to call `getProperty` method
        $getter = Str::getGetter($name);
        if (method_exists($this, $getter)) {
            return $this->{$getter}();
        }

так вот тут можно же протектед метод вызывать

@SCIF внутри модели, ты точно понял как та либа работает?
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:50 UTC
@Big-Shark можно, это реализация декораторов для свойств
но если свойство паблик, то оно тупо не сработает
так же как и приват
Maxim
@Big-Shark
Jul 06 2016 23:51 UTC
@SerafimArts так я не про поля, а про функции, иначе можно делать и ->any и ->getAny()
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:51 UTC

@Big-Shark , а причём тут та либа? Я не понимаю вот этого:

@SerafimArts пока в пхп нельзя писать нормальные гетеры и сетеры, удобней делать функции

Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:51 UTC
@Big-Shark можно, но ничего не мешает сделать его тоже протектным
Maxim
@Big-Shark
Jul 06 2016 23:51 UTC
@SCIF сек, сейчас попробую рфс найти
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:52 UTC
@SCIF эм, ну как бы в пыхе нет свойств
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:52 UTC
@Big-Shark , просто дальше Кирилл ответил, что есть и привёл ро-свойства
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:52 UTC
отсюда и методы геттеров и сеттеров
@SCIF это костыль для реализации оных
а не полноценные свойства
Maxim
@Big-Shark
Jul 06 2016 23:53 UTC
@SCIF сейчас если ты используешь переменный, и потом решил навесить геттер на него, или сетер, то это вызывает попаболь, еслиб этот рфс приняли, то гетере юы стали не нужны по факту
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:53 UTC
а я что-то не понял, почему эту фичу не впилили?
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:53 UTC
Ну так это по сути не свойства, а вложенные объекты.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:54 UTC
22 против 34
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:54 UTC
@Big-Shark , ты имел ввиду аксессор и модификатор, а не геттер и сеттер
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:54 UTC
это 2/3 + 1 голос "ЗА"
Maxim
@Big-Shark
Jul 06 2016 23:54 UTC
@SCIF и Кирилл скинул свою любу которая позволяет немного склаживать текущее состояние дел.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:54 UTC
@SCIF почитай rfc
там гет и сет
на уровне свойств (бывш. полей)
@SCIF аксессор и мутатор и есть гет и сет
=)
просто внутренности у них разные
мутатор - хрень, которая помимо сета ещё и издевается над данными
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:55 UTC
Ну так я и говорю — это аксессор и мутатор уровня ядра. По сути — объектами на данный момент можно реализовать, но по факту, имхо, не совсем то, что нужно.
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:55 UTC
ну насколько я понимаю терминологию
@SCIF объектами?
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:56 UTC
Ёпт. Геттеры и сеттеры фукнциями адекватно решают эти вопросы.
Maxim
@Big-Shark
Jul 06 2016 23:56 UTC
@SCIF как ты это реализуешь обьектами?
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:56 UTC
@SCIF понимаешь ли - метод по семантике - это действие
а поле - данные
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:56 UTC
Ну началось....
Maxim
@Big-Shark
Jul 06 2016 23:56 UTC
@SCIF так а на кой гетер и сетеры если для хранения состояния есть переменные, с которыми мы и должны работать?
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:57 UTC
$message->text = 'some'
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:57 UTC
Неее, стоп
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:57 UTC
как бы вот сет данных
$message->send() вот действие
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:57 UTC
Вы хотите не с данными работать, а с их представлением
Данные — это простите текущие свойства, а вам ещё и поведение подавай
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:57 UTC
поля
данные - это поля
свойства - это уже поведение полей
Maxim
@Big-Shark
Jul 06 2016 23:58 UTC
@SCIF нет, мы хотим иметь возможность над свойством навесить еще какойто свое поведение в случае чего
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:58 UTC
и контролировать доступ к ним
Maxim
@Big-Shark
Jul 06 2016 23:58 UTC
@SCIF вот почему сейчас не используются паблик переменные?
@SCIF потому что его не реально перехватить и обработать
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:59 UTC
потому что, что бы поменять их поведение - надо изгавнякаться
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:59 UTC
Потому что ломают консистетность.
Maxim
@Big-Shark
Jul 06 2016 23:59 UTC
@SCIF нелься сделать только на чтение или только на запись
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 23:59 UTC
да