These are chat archives for LaravelRUS/chat

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

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

Нахлебник

@fearrr, вы выполнили условие: "Сказать 50 раз "спасибо".".
С чем и поздравляем =)
Нахлебник
Спасибо (+1) для @vlsoprun принято! Текущая карма +190.
Roman
@fearrr
Jul 06 2016 08:36
:worried:
Alexander
@Dualse
Jul 06 2016 08:40
@vlsoprun У них вроде есть бесплатная версия
Soprun Vladislav
@vlsoprun
Jul 06 2016 08:53
@Dualse да есть, причем не маленькая
Для не большого проекта сойдет
mr G1K
@G1K
Jul 06 2016 09:04
@fearrr а у тебя случайно у магазина нет выгрузки в YML ? )
slider23
@slider23
Jul 06 2016 09:05
Чтобы поиск хорошо работал, надо базу данных подготавливать специальным образом. Чтобы то, что чел будет искать, было в индексах. Или делать отдельную БД для поиска, на elasticsearch или sphinx. А если ещё надо корректно обрабатывать опечатки - то это уже приличная инженерная задача.
mr G1K
@G1K
Jul 06 2016 09:07
@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
@G1K Лучше оберни в код
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:09
@G1K ссылки заверни
slider23
@slider23
Jul 06 2016 09:09
Найс.
mr G1K
@G1K
Jul 06 2016 09:10
Запись на следующую волну ЗБТ
https://site.yandex.ru/catalogs/beta/
Alexander
@Dualse
Jul 06 2016 09:14
@G1K Аналог Algolia пилят?
mr G1K
@G1K
Jul 06 2016 09:17
@Dualse Ну не уверен что аналог, ибо поисковые технологии и движок у них есть, и есть маркет. Просто делают saas решение для бизнеса на основе файла YML для маркета который почти у всех уже есть
@fearrr Если у тебя есть YML ка могу подключить к своему кабинету и выдать js сник на котором можно тестировать результаты.
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:32
@Quiss а сколько зп?! :smile:
Andrey
@Quiss
Jul 06 2016 09:32
Обсуждаемо
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:32
А деньгами или дошираком ?! :satisfied:
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 09:37
@Quiss Laravel - это не MVC
// да будет срач
alexspi
@alexspi
Jul 06 2016 09:39
@SerafimArts фиг тебе
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 09:40
ну ок =(
но всё равно ларка - это ADR, а если в терминологии прикладных программ, то MVP
так же как и симфони
и Yii
gg wp ez
alexspi
@alexspi
Jul 06 2016 09:43
@SerafimArts ой , фсё
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 09:44
бугагашеньки
Soprun Vladislav
@vlsoprun
Jul 06 2016 09:44
:smile:
Andrey
@Quiss
Jul 06 2016 09:49

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

Деньгами

@Quiss Laravel - это не MVC

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

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

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

Ешь деньги xD

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

Благодарный

@webdevium, вы выполнили условие: "Высказать 20 благодарностей.".
С чем и поздравляем =)
Благодарный
Спасибо (+1) для @jhaoda принято! Текущая карма +1024.
Ваня Devium
@webdevium
Jul 06 2016 13:07
я прочитал "Благородный" :) Думаю, ничесе
Ivan
@Hunternnm
Jul 06 2016 13:11
@jhaoda 1024... килокарма таки
JhaoDa
@jhaoda
Jul 06 2016 13:11
@Hunternnm точняк!
Maxim
@Big-Shark
Jul 06 2016 13:11
@jhaoda может тебе пока писать 1мб)
@webdevium норм, я недавно загрузку себе через апи сделал через бейс 64
@webdevium да там около 20 процентов оверхед, так что пофиг.
Ваня Devium
@webdevium
Jul 06 2016 13:18
@Big-Shark вот если бы минус 20 - было бы ок, а так - печалька получается
Maxim
@Big-Shark
Jul 06 2016 13:20
@webdevium думаешь это сильно скажется? Зато можно много картинок слать в одном сообщении + еще всякие плюшки
Ваня Devium
@webdevium
Jul 06 2016 13:22
@Big-Shark 20% на 5 фоток === еще одну фотку можно было прислать. Бяка.
JhaoDa
@jhaoda
Jul 06 2016 13:23
@Big-Shark @webdevium а гзиповать?
Maxim
@Big-Shark
Jul 06 2016 13:23
@jhaoda хз, меня эти 20 процентов вообще не парят
Ваня Devium
@webdevium
Jul 06 2016 13:23
@jhaoda они не могут массивом отправить. Думаешь, они знают как зиповать?)))))))))))))))))))))))))
JhaoDa
@jhaoda
Jul 06 2016 13:24
@webdevium а плетей им всыпать?
Ваня Devium
@webdevium
Jul 06 2016 13:25
@jhaoda да им вообще лицо в томатную пасту нужно)))))
Ivan
@Hunternnm
Jul 06 2016 13:25
iOS девелоперы вообще не от мира сего какие-то
Ваня Devium
@webdevium
Jul 06 2016 13:25
шучу
Ivan
@Hunternnm
Jul 06 2016 13:25
такие вещи иногда загоняют что попутать можно вообще
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 13:25
@jhaoda я тут себе наклеечку надыбал на ноут, о тебе вспоминая...
https://pp.vk.me/c630220/v630220981/385ae/sZmRHwjYTBM.jpg
Ivan
@Hunternnm
Jul 06 2016 13:26
@SerafimArts я тоже такую себе хочу! Где брал???
Maxim
@Big-Shark
Jul 06 2016 13:26
@SerafimArts тебе срочно надо выслать копию для @jhaoda
JhaoDa
@jhaoda
Jul 06 2016 13:26
И ноут высылайте, а то клеить некуда
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 13:26
@Hunternnm корпоративная халява
яж в секте свидетелей амперсанда состою
Maxim
@Big-Shark
Jul 06 2016 13:27
@webdevium насколько я понимаю там нельзя просто так отправить плейтом, поэтому и рекомендуется использовать бейс64.
Ivan
@Hunternnm
Jul 06 2016 13:29
@SerafimArts обломал...
Ваня Devium
@webdevium
Jul 06 2016 13:29
@Big-Shark ладн. Буду пытаться их убедить нарыть решение
Kirill Nesmeyanov
@SerafimArts
Jul 06 2016 13:30
@Big-Shark для @jhaoda я вышлю "В любой непонятной ситуации читай доки"
Ваня Devium
@webdevium
Jul 06 2016 13:39
@jhaoda я там был, и они мне этот код показывали. Спонтом, там тоже через base64
JhaoDa
@jhaoda
Jul 06 2016 13:39
@webdevium там же ни слова про base64
Ваня Devium
@webdevium
Jul 06 2016 13:39
@jhaoda они меня убеждают, что где-то там есть скрытая конвертация
dzham
@dzham
Jul 06 2016 13:40
всем привет
KarmaBot
@KarmaBot
Jul 06 2016 13:40
@dzham, здравствуй.
dzham
@dzham
Jul 06 2016 13:40
никто не встречал проект laravel + vue с ролями?
JhaoDa
@jhaoda
Jul 06 2016 13:41
@webdevium ну только если так
@webdevium https://charangiri.wordpress.com/2014/09/22/how-to-upload-multiple-image-to-server/ серверная часть, конечно, обработку нескольких файлов не показывает, но и никакого декодинга base64 нету
Ваня Devium
@webdevium
Jul 06 2016 13:51
@jhaoda мои почуствовали, что счас буду рвать на части и свалили домой
завтра всуну в зубы пример)))
Maxim
@Big-Shark
Jul 06 2016 13:53
@webdevium @jhaoda для меня косяк в том что это работает только при измененом контент тайп, а я меня джесон апи, так что контент тайп жестко зобит, мне нужно было вместе с файлами принимать и другую инфу
@webdevium но если тебе это не надо, то можно отправлять и так
Ваня Devium
@webdevium
Jul 06 2016 13:55
корочь, завтра буду пинать, пускай рожают решение
Dmitriy
@dandandan1983
Jul 06 2016 13:57
Всем привет. Подскажите пожалуйста по роутам. Сделал 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
@dandandan1983, привет =)
Vladimir Yuldashev
@vyuldashev
Jul 06 2016 13:57
никто не хочет скинуться на https://leanpub.com/vue ?
Ваня Devium
@webdevium
Jul 06 2016 13:59
@dandandan1983 я вот прям помог бы тебе, но ты сам то понял что написал?
Soprun Vladislav
@vlsoprun
Jul 06 2016 13:59
@vladimir-yuldashev https://gitter.im/vuejs-ru/Discussion лучше там написать
Vladimir Yuldashev
@vyuldashev
Jul 06 2016 13:59
@vlsoprun %)
Dmitriy
@dandandan1983
Jul 06 2016 14:00
надо чтобы 2ой роут срабатывал всегда кроме, когда в урле идет слово ^compare/ , если не сработал первый.
может так понятнее будет :-)
/compare/4784-vs-3153.html

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

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

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

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

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

Dmitriy
@dandandan1983
Jul 06 2016 14:05

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

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

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

@jhaoda

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

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

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

@webdevium

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

???

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

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

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

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

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

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

и т.д.

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

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

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

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

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

@SerafimArts

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

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

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

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

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

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

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

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

@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
@Big-Shark можно, это реализация декораторов для свойств
но если свойство паблик, то оно тупо не сработает
так же как и приват
Maxim
@Big-Shark
Jul 06 2016 23:51
@SerafimArts так я не про поля, а про функции, иначе можно делать и ->any и ->getAny()
Alexander Zhuravlev
@SCIF
Jul 06 2016 23:51

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

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

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