These are chat archives for LaravelRUS/chat

29th
Feb 2016
Maxim
@Big-Shark
Feb 29 2016 01:17
@xxxcoltxxx хочешь свою тебе продам?
Maxim
@Big-Shark
Feb 29 2016 03:11
https://github.com/hirak/prestissimo использует ктото кроме меня?
Kirill Nesmeyanov
@SerafimArts
Feb 29 2016 03:25
@Big-Shark там проблемы с сертификатом внутри
у меня он тупо не пашет
Maxim
@Big-Shark
Feb 29 2016 03:25
@SerafimArts странно, у меня все норм
@SerafimArts че скажешь http://bulma.io/ ?
Kirill Nesmeyanov
@SerafimArts
Feb 29 2016 03:35
сасс, значит тема
и можно посмотреть
всё, надо спать идти
=)))0
Ivan
@Hunternnm
Feb 29 2016 05:49
@s00d чувак жжот
Боброе утро!
Artur Gafurov
@assurrussa
Feb 29 2016 05:53
@Hunternnm доброе!
ariyDezmond
@ariyDezmond
Feb 29 2016 06:49
всем привет. Друг сидел что-то намутил и теперь выскакивает ошибка при обращении к сайту Method SleepingOwl\Admin\Models\ModelItem::display not exist
KarmaBot
@KarmaBot
Feb 29 2016 06:49
@ariyDezmond, и тебе привет ;)
ariyDezmond
@ariyDezmond
Feb 29 2016 06:49
кто нить знает в чём проблема или по новой проще установить всё?
Maxim Zavitaev
@MaximZavitaev
Feb 29 2016 07:09
@ariyDezmond что Вы пытаетесь сделать вызовом данного метода?
Soprun Vladislav
@vlsoprun
Feb 29 2016 07:12
Всем привет
KarmaBot
@KarmaBot
Feb 29 2016 07:12
@vlsoprun, здравствуй.
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:13
всем привет
KarmaBot
@KarmaBot
Feb 29 2016 07:13
@symbios-zi, здравствуй.
Viktor Vasary
@Vasary
Feb 29 2016 07:13
привет
Soprun Vladislav
@vlsoprun
Feb 29 2016 07:13
@symbios-zi Привет
Ivan
@Hunternnm
Feb 29 2016 07:13
Привет =)
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:14
Soprun Vladislav
@vlsoprun
Feb 29 2016 07:16
@symbios-zi :smile:
Ivan
@Hunternnm
Feb 29 2016 07:21
да троллит чувак
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:22
Ivan
@Hunternnm
Feb 29 2016 07:35
хм, как эффективно изменить одно поле в массивах многомерного массива? перебирать в foreach по мне неэффективно
хотя всё
Viktor Vasary
@Vasary
Feb 29 2016 07:35
@Hunternnm array_map
JhaoDa
@jhaoda
Feb 29 2016 07:35

Ребята, я вот тут чота задумался... когда мы пишем

public function create(CreateItemRequest $request)

мы же получаем просто инстанс нового объекта CreateItemRequest? И с тем базовым реквестом, что уже лежит в контейнере, он не имеет ничего общего?

Т.е. получается, что этот CreateItemRequest ещё раз инициализируется, когда его контейнер создаёт?
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:37
@jhaoda ну раз это отдельный класс, то думается мне что верно рассуждаешь
JhaoDa
@jhaoda
Feb 29 2016 07:37
Но возникает вопрос — откуда он берет данные?
Ivan
@Hunternnm
Feb 29 2016 07:37
@Vasary там стоял array_filter в исходниках... добавил & перед аргументом и пока оставил так.
Ali Gardezi
@wal-agardezi
Feb 29 2016 07:39
hello guys. Hope all of you are doing well. Has anybody of you ever used fullcalendar
NelinD
@NelinD
Feb 29 2016 07:40
@jhaoda
/**
     * Create a new Illuminate HTTP request from server variables.
     *
     * @return static
     */
    public static function capture()
    {
        static::enableHttpMethodParameterOverride();

        return static::createFromBase(SymfonyRequest::createFromGlobals());
    }
JhaoDa
@jhaoda
Feb 29 2016 07:40
@NelinD где и кем вызывается capture?
в августе нетбинс с es6 будет, наконец то
NelinD
@NelinD
Feb 29 2016 07:41
@jhaoda находится тут
Illuminate\Foundation\Http\FormRequest
JhaoDa
@jhaoda
Feb 29 2016 07:41
@NelinD ты на какой версии смотришь?
Этот класс и я нашел, только никаких capture там нет ни в 5.1, ни в 5.2
JhaoDa
@jhaoda
Feb 29 2016 07:45
@NelinD ...
@NelinD ты внимательно читай вопрос
capture вообще отношения к делу не имеет
JhaoDa
@jhaoda
Feb 29 2016 07:47
@NelinD ты меня пугаешь
@NelinD
Я спрашиваю — где и кем вызывается сapture?
Ты кидаешь класс Illuminate\Foundation\Http\FormRequest.
Я спрашиваю — где ты там увидел слово capture?
Ты кидаешь скрин самого реквеста
@NelinD кто ты и что ты сделал с настоящим @NelinD ?
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:49
@wal-agardezi hello. What do you mean?
JhaoDa
@jhaoda
Feb 29 2016 07:49
Врочем, магия ясна и находится она в Illuminate\Foundation\Providers\FormRequestServiceProvider
Как неожиданно... :)
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:55
как вы все на темных темах сидите в шторме?
глаза не устают?
Sergey Protko
@fesor
Feb 29 2016 07:55
@symbios-zi наоборот, светлая тема для этого хуже
контрастность текста/фона решает
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:56
@fesor не согласен
Artur Gafurov
@assurrussa
Feb 29 2016 07:56
@fesor +
Sergey Protko
@fesor
Feb 29 2016 07:56
@symbios-zi ты же понимаешь что все сугубо индивидуально
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:56
@fesor типа того )
Sergey Protko
@fesor
Feb 29 2016 07:57
@symbios-zi я много работаю в полумраке, и такая расцветка создает минимальное напряжение на глаза в моем случае
Nuzsk
@Nuzsk
Feb 29 2016 07:57
сижу на белых темах, темные не смог тк. слишком большой контраст с остальным софтом, который не настраивается
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:58
@Nuzsk +1
Sergey Protko
@fesor
Feb 29 2016 07:58
@Nuzsk а ты каким-то еще софтом так часто пользуешься?)
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:58
@fesor в полумраке нельзя, глаза устают сильнее всего и портится зрение
@fesor да тот же gitter где ты сейчас белый
Nuzsk
@Nuzsk
Feb 29 2016 07:59
@fesor heidisql, rabbitmq admin, thunderbird, filezilla
и тд
Anton Vorontsov
@symbios-zi
Feb 29 2016 07:59
google, gitter, github ++
Sergey Protko
@fesor
Feb 29 2016 08:00
@symbios-zi psql, rabbitmq-ctrl, gmail
@symbios-zi ты не думал что помимо официального клиента для gitter есть еще irc?)
хоть из консоли сиди
Anton Vorontsov
@symbios-zi
Feb 29 2016 08:01
@fesor вот и думаю что белый проще чем под каждый софт сидеть консоль, mIRC запускать )
по пути наименьшего сопротивления
Sergey Protko
@fesor
Feb 29 2016 08:01
@symbios-zi ну и да, на ретине все чуть чуть лучше в плане шрифтов на любой расцветке, мне больше вот темненькая зашла
Anton Vorontsov
@symbios-zi
Feb 29 2016 08:01
да и вообще где то вычитал что глаза темный цвет и светлый шрифт напрягают
Sergey Protko
@fesor
Feb 29 2016 08:01
@symbios-zi пруфы билли. нам нужны пруфы
Anton Vorontsov
@symbios-zi
Feb 29 2016 08:02
@fesor ой все...
@symbios-zi прикол в том что правила, применимые к бумажной полиграфии в контексте экранчиков не особо применимы
так как в отличии от бумаги мы смотрим на источник света, а не на отраженный свет
там свои приколюхи
Anton Vorontsov
@symbios-zi
Feb 29 2016 08:04
@fesor http://ux.stackexchange.com/questions/53264/dark-or-white-color-theme-is-better-for-the-eyes вот чувак с ссылками приводит
People with astigmatism (approximately 50% of the population) find it harder to read white text on black than black text on white.
Artur Gafurov
@assurrussa
Feb 29 2016 08:05
@symbios-zi Для уменьшения контрастности цвета в темное время суток, использую https://justgetflux.com/, не знаю есть ли что-то другое, но вполне нормальная программка)
Anton Vorontsov
@symbios-zi
Feb 29 2016 08:05
короче, те кто по ночам в темноте сидят за компом, предпочитают темный фон.
Скажи мне цвет фона твоей IDE и я скажу что ты делаешь по ночам (C)
Sergey Protko
@fesor
Feb 29 2016 08:06
@symbios-zi у меня астигматизм) Ну и читаю я разноцветный текст и его мне проще воспринимать на черном фоне
точнее на темно сером
Anton Vorontsov
@symbios-zi
Feb 29 2016 08:07
у меня идеальное зрение. Вообще не могу в темноте за монитором сидеть ) глаза устают
при свете сижу
Sergey Protko
@fesor
Feb 29 2016 08:08
ну я тоже не могу в темноте долго сидеть с монитором, контрастность экрана с окружающим тоже важна
ну мол снизить контрастность надо - и тогда меньше напрягаться будут глаза
Nuzsk
@Nuzsk
Feb 29 2016 08:08
вообще таких проблем не замечал
зачастую сижу в полной темноте
Ivan
@Hunternnm
Feb 29 2016 08:14
стоит ли?)
NoViKoFF
@AndrewNovikof
Feb 29 2016 08:23
Всем привет. Какая то детская проблема...как принимать реквест от мультиселекта?
KarmaBot
@KarmaBot
Feb 29 2016 08:23
@AndrewNovikof, здравствуй.
NoViKoFF
@AndrewNovikof
Feb 29 2016 08:24
Приходит несколько одноименных переменных
А не массив
Artur Gafurov
@assurrussa
Feb 29 2016 08:24
@AndrewNovikof -> multiselect[]
NoViKoFF
@AndrewNovikof
Feb 29 2016 08:25
@assurrussa $request->all() показывает одно последнее значение
Anton Vorontsov
@symbios-zi
Feb 29 2016 08:25
@AndrewNovikof <select name="myselect[]">
NoViKoFF
@AndrewNovikof
Feb 29 2016 08:26
@assurrussa @symbios-zi понял ошибку, спасибо!)
KarmaBot
@KarmaBot
Feb 29 2016 08:26
Спасибо (+1) для @assurrussa принято! Текущая карма +48.
Спасибо (+1) для @symbios-zi принято! Текущая карма +69.
vnmslf
@vnmslf
Feb 29 2016 08:35
Всем привет! Подскажите, чем можно менять/редактировать *.jade? Объясню, я в вебе относительно новичек, есть сайт, простой как две копейки, разработчики зачем-то его сделали на ларавел + ангулар, еще и с использованием jade... Зачем-то - с моей точки зрения для того, чтобы при любых правках обращались к ним за помощью (за $ разумеется), - п######ы такие, в общем. Что за зверь такой jade?
KarmaBot
@KarmaBot
Feb 29 2016 08:35
@vnmslf, привет =)
Dinar Garipov
@garf
Feb 29 2016 08:41
@vnmslf Гугл отменился уже? :) Это шаблонизатор.
Sergey Protko
@fesor
Feb 29 2016 08:43
@gaaarfild это чуть больше чем шаблонизатор, это по сути препроцессор для html
но суть от этого не меняется да)
vnmslf
@vnmslf
Feb 29 2016 08:43
@gaaarfild гугл говорит, что .jade можно чем-то непонятным открывать и редактировать, короче там ересь полная
Ruslan
@AsanovRuslan
Feb 29 2016 08:44
Всем привет! Работал кто нибудь с docker'ом ? Как в контейнер можно пробросить публичные ssh ключи ?
KarmaBot
@KarmaBot
Feb 29 2016 08:44
@AsanovRuslan, привет =)
Dinar Garipov
@garf
Feb 29 2016 08:44
@vnmslf Блокнотом открываться должен.
Sergey Protko
@fesor
Feb 29 2016 08:44
@AsanovRuslan через волумы
Dinar Garipov
@garf
Feb 29 2016 08:44
@vnmslf http://jade-lang.com/
vnmslf
@vnmslf
Feb 29 2016 08:44
@gaaarfild я просто не пойму... сайт реально простой, тупо несколько страниц с инфой и ссылками, а разрабы его написали на том, что может пригодиться для, наверное, проектов по серьезнее
@gaaarfild спасибо, да он открывается блокнотом, просто я не пойму.. нафига??
KarmaBot
@KarmaBot
Feb 29 2016 08:45
Спасибо (+1) для @gaaarfild принято! Текущая карма +98.
Dinar Garipov
@garf
Feb 29 2016 08:45
Я не знаю, почему там jade. Это вроде как шаблонизатор для nodejs
@vnmslf Ну, люди, которые привыкли делать всегда на высшем уровне, иногда забывают, что он может и не нужен.
vnmslf
@vnmslf
Feb 29 2016 08:47
@gaaarfild просто встает вопрос о том, что они взяли много денег за мало работы, еще и надурили по полной.. 3buna.ru - посмотри сайт, такой же вообще можно в блокноте (грубо) сделать
Ruslan
@AsanovRuslan
Feb 29 2016 08:47
@fesor не много не так задал вопрос, как свои публичные ключи записать в authorized_keys контейнера ?
Victor Golovko
@siptik
Feb 29 2016 08:48
@gaaarfild этот шаблонизатор как я понимаю можно использовать для генерации шаблонов. поменяв в каком то блоке разметку она меняется на всех странцах. Поэтому выгодно его использовать верстальщику
чтобы не повторяться
Dinar Garipov
@garf
Feb 29 2016 08:49
@siptik А что мешает то же самое делать в blade или в Twig?
Victor Golovko
@siptik
Feb 29 2016 08:51
@gaaarfild а то что верстальщик не привязан к фреймворку или шаблонизатору
jade генерирует готовый html код
Dinar Garipov
@garf
Feb 29 2016 08:52
@siptik Я тебя не понимать. :)
@siptik Генерируя готовый шаблон шаблонизатора для nodejs, ты отсилы получишь HTML. Без логики и данных в нем. Каким образом оно может относиться к Laravel?
Nuzsk
@Nuzsk
Feb 29 2016 08:53
@gaaarfild просто встает вопрос о том, что они взяли много денег за мало работы, еще и надурили по полной.. 3buna.ru - посмотри сайт, такой же вообще можно в блокноте (грубо) сделать
Dinar Garipov
@garf
Feb 29 2016 08:53
И почему верстальщик не предоставил в таком случае просто HTML? Зачем в продакшне его исходники?
Victor Golovko
@siptik
Feb 29 2016 08:53
@gaaarfild ну так они и получили голый html
стороннему верстальщику который вообще не знает php дали задание разработать шаблон.
Dinar Garipov
@garf
Feb 29 2016 08:53
Так для чего тогда Laravel?
Nuzsk
@Nuzsk
Feb 29 2016 08:53
@vnmslf может разработчик просто воспользовался привычным стеком?
Dinar Garipov
@garf
Feb 29 2016 08:54
Ну если только так.
NoViKoFF
@AndrewNovikof
Feb 29 2016 08:54

еще вопросик)) Как вот это:

"'certificate_deliveries.id' ,'certificate_deliveries.sbbk_id' ,'certificate_deliveries.count' ,'certificate_services.title' ,'certificate_deliveries.service_id' ,'certificate_delivery_statuses.name' ,'certificate_deliveries.created_at'"

вытащить из двойных ковычек, чтобы записать вот так:

->select('certificate_deliveries.id', 'certificate_deliveries.sbbk_id', 'certificate_deliveries.count', 'certificate_services.title', 'certificate_deliveries.service_id', 'certificate_delivery_statuses.name', 'certificate_deliveries.created_at')->get();
vnmslf
@vnmslf
Feb 29 2016 08:55
@Nuzsk просто разработчик поговорив с клиентом понял, что клиент не шибко рубит в веб-разработке, нагрел его на кругленькую сумму, + к тому же другой сайт вообще не доделанный (с ошибками, с косяками по загрузке)... В общем, наеобманулово.
Victor Golovko
@siptik
Feb 29 2016 08:56

И почему верстальщик не предоставил в таком случае просто HTML? Зачем в продакшне его исходники?

Лично мне делали html тоже спомощью этого шобланизатора

и предоставили голый html
Dinar Garipov
@garf
Feb 29 2016 08:56
@siptik Да. Понял уже. :) Я просто про стороннего верстальщика не подумал.
Victor Golovko
@siptik
Feb 29 2016 08:56
возможно просто для удобства закинули еще исходники jade
Nuzsk
@Nuzsk
Feb 29 2016 08:56
@Nuzsk просто разработчик поговорив с клиентом понял, что клиент не шибко рубит в веб-разработке, нагрел его на кругленькую сумму, + к тому же другой сайт вообще не доделанный (с ошибками, с косяками по загрузке)... В общем, наеобманулово.
в таком случае раздел "РАЗРАБОТКА ВЕБ-САЙТОВ" смотрится на 3buna.ru весьма забавно
Artur Gafurov
@assurrussa
Feb 29 2016 08:57
@vnmslf как всегда хочется спросить, кругленькая сумма, это сколько?))) и да на вашем сайте есть разработка сайтов > странно как то)
Victor Golovko
@siptik
Feb 29 2016 08:59

нагрел его на кругленькую сумму

Как бы это бизнес. Люди зарабатывают на том, что другие люди не умеют делать. Любая сфера так работает.

Dinar Garipov
@garf
Feb 29 2016 09:01
Я не думаю, что там было нагревалово. Я вот тоже не стал бы ставить ВП и разбираться в его хренотне. Я просто сказал бы, что готов сделать дороже на своих инструментах. Нет значит нет.
Nuzsk
@Nuzsk
Feb 29 2016 09:02
@vnmslf да и вообще, сейчас модно yeoman и создание каркаса в одну команду
это всяко проще, чем каждому клиенту свой велосипед городить
и если работать на потоке - это пожалуй выгоднее, даже на лендингах
vnmslf
@vnmslf
Feb 29 2016 09:05
@assurrussa на нашем сайте есть разработка сайтов, и когда-то был разраб, потом он пропал, на его место взяли криворукого, которого через полгода уволили, а сейчас сижу на это месте я.
Pavel Kuzmin
@s00d
Feb 29 2016 09:05
посмотрел сайт, Вполне естественно выбрали лару, Что в этом такого? а что, что шалонайзер станный это уже выбор верстальщика. Если бы мне кто-то сказал сделать аналогичный сайт просто в блокноте или на цмс, я бы уточнил все ли в порядке с его головой...
Maxim
@Big-Shark
Feb 29 2016 09:07
@vnmslf мне кажется ты жалуешься на то что твоих знаний не хватает для поддержания сайта? или я ошибаюсь?
Pavel Kuzmin
@s00d
Feb 29 2016 09:09
@Big-Shark +
Victor Golovko
@siptik
Feb 29 2016 09:10
и вообще немного смешно слышать в чате разработчиков жалобу на разработчика, который написал код, который непонятент клиенту. Немного похоже на мой случай, когда клиент жаловался, что в laravel есть лишние файлы и папки
Maxim
@Big-Shark
Feb 29 2016 09:11
вообще кстати вы тут чтото странное про джейд наговорили) джейд это почти как хамл, только от ноды, но точно также как и с хамлом, есть джейд.пхп
допустим вот http://www.jade4php.com/index.php
Artur Gafurov
@assurrussa
Feb 29 2016 09:11
@siptik +
chip-and-dail
@chip-and-dail
Feb 29 2016 09:13
Приветы!
NoViKoFF
@AndrewNovikof
Feb 29 2016 09:13
как можно в $string засунуть строку?
$query->select($string)->get();
Pavel Kuzmin
@s00d
Feb 29 2016 09:13
Всегда и все будут продвигать новые технологии и способы разработки. Читать код в "просто файлах" отвратительно. Когда для разработчиков вводят новые технологии их нужно изучать и продвигать, а не возвращаться к 90 годам с сайтами в "просто файлах". Даже одностраничники делают на ларе, что вообще можно говорить про такие крупные сайты.
chip-and-dail
@chip-and-dail
Feb 29 2016 09:13
Ребят, скажите, куда можно запостить работу для Laravel-разработчиков?
Pavel Kuzmin
@s00d
Feb 29 2016 09:14
@chip-and-dail в группу постят и тут
chip-and-dail
@chip-and-dail
Feb 29 2016 09:15
@s00d В обоих случаях могут пропустить.. Ссылки кинуть тут можно, ругаться не будете? :)
NoViKoFF
@AndrewNovikof
Feb 29 2016 09:16
Все ОК, нафиг строку, он с массивом нормально работает!)
Sergey Protko
@fesor
Feb 29 2016 09:19
@AsanovRuslan ммм а зачем тебе это в принципе? Ты не должен так делать)

@AsanovRuslan там как бы даже ssh-демон не запущен внутри контейнера (если это не контейнер для ssh демона). У тебя есть два варианта:

1) законектиться к серваку по SSH и сделать attach к контейнеру
2) добавить удаленный хост в docker-machine и делать attach со своего хоста к удаленному контейнеру

Maxim
@Big-Shark
Feb 29 2016 09:22
@chip-and-dail зп бы еще озвучил в вакансии
chip-and-dail
@chip-and-dail
Feb 29 2016 09:23
@Big-Shark 70-80-90-100 Зависит от навыков
ЗП белая кстати
Maxim
@Big-Shark
Feb 29 2016 09:35
@chip-and-dail была бы зп зеленая лучше)
AAmirOFF
@AAmirOFF
Feb 29 2016 09:36
Доброго времени суток ув Гуру Laravel будьте добры подсказать мне. как решить с роутингом.Route::any('foo', function() { return 'Hello World'; }); как в место hello world вызвать контроллер.
NoViKoFF
@AndrewNovikof
Feb 29 2016 09:37
Route::any('foo', 'AnyController@AnyMethod' });
Maxim
@Big-Shark
Feb 29 2016 09:37
@AAmirOFF Route::any('foo', 'Controller@action');
@AndrewNovikof а твой код не заработает, бе бе бе
chip-and-dail
@chip-and-dail
Feb 29 2016 09:37
@Big-Shark Я бы рад, но увы. Сами понимаете..
AAmirOFF
@AAmirOFF
Feb 29 2016 09:37
Спасибо данный вариант не подоидет так как там будит в функций условие.
KarmaBot
@KarmaBot
Feb 29 2016 09:37
@AAmirOFF, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
JhaoDa
@jhaoda
Feb 29 2016 09:37
О, опять пострадавший от радиации доку не читает
Dmitry
@DmitryChere
Feb 29 2016 09:37
всем привет
как отключить рендеринг шаблона в контроллере?
KarmaBot
@KarmaBot
Feb 29 2016 09:37
@likeapimp, привет =)
Maxim
@Big-Shark
Feb 29 2016 09:37
@AAmirOFF там не может быть условие
@DmitryChere чаго?
AAmirOFF
@AAmirOFF
Feb 29 2016 09:38
@Big-Shark Route::post('full/form',function(){ if (Auth::check()) {}});
JhaoDa
@jhaoda
Feb 29 2016 09:38
Жесть какая...
Maxim
@Big-Shark
Feb 29 2016 09:38
@AAmirOFF может тебе про мидлвеа почитать?
AAmirOFF
@AAmirOFF
Feb 29 2016 09:38
@jhaoda )) и тебе привет
JhaoDa
@jhaoda
Feb 29 2016 09:39
@AAmirOFF ты, может, начнешь доку читать?
AAmirOFF
@AAmirOFF
Feb 29 2016 09:39
@jhaoda я кажется псил вас. просто игнорировать меня? вам и в правду есть до меня дело?
JhaoDa
@jhaoda
Feb 29 2016 09:39
@AAmirOFF мало ли что ты просил
NoViKoFF
@AndrewNovikof
Feb 29 2016 09:39
Народ, подскажите пакет для упаковки коллкции в CSV или что то подобное
Dmitry
@DmitryChere
Feb 29 2016 09:39
@Big-Shark чтобы контроллер на вьюху не обращался, а пустой был
Maxim
@Big-Shark
Feb 29 2016 09:40
@AndrewNovikof гугли csv php github
Роман Сохарев
@greabock
Feb 29 2016 09:40
@AndrewNovikof explode() лол XD
AAmirOFF
@AAmirOFF
Feb 29 2016 09:40
@jhaoda а вам лижбы что то вставить в этот чат . ну хорошо с вами все понятно. Сомо утрверждаитесь мне не жалко.
Сам нашел)
Maxim
@Big-Shark
Feb 29 2016 09:40
@DmitryChere чтобы контролер вернул пустой результат? ну сделай return '';
JhaoDa
@jhaoda
Feb 29 2016 09:40
@AAmirOFF или ты начнешь читать документацию, или получишь бан.
AAmirOFF
@AAmirOFF
Feb 29 2016 09:41
@Big-Shark спасибо я почитаю. но сейчас хотелось бы кастылем решить это возможно?
KarmaBot
@KarmaBot
Feb 29 2016 09:41
Спасибо (+1) для @Big-Shark принято! Текущая карма +678.
Dmitry
@DmitryChere
Feb 29 2016 09:41
@Big-Shark ну так он начинает проходить по переменным шаблона и ошибки сыпет
Maxim
@Big-Shark
Feb 29 2016 09:41
@AndrewNovikof ну это не совсем то наверное, точней оно конечно и так может, но хз даже)
@AAmirOFF конечно, но я не знаю как, и даже думать не буду
AAmirOFF
@AAmirOFF
Feb 29 2016 09:42
@jhaoda ) я не думаю что у вас есть такие прова. ну всеже можете попробывать ) если ваша само оценка после этого вырастит я буду рад если ваша психическое састояние станет лутеше )
Maxim
@Big-Shark
Feb 29 2016 09:42
@DmitryChere чего? Как он начинает проходить по переменным шаблоны, может ты код на пастбин закинешь или чего такое?
AAmirOFF
@AAmirOFF
Feb 29 2016 09:43
@Big-Shark Спасибо хорошо.
KarmaBot
@KarmaBot
Feb 29 2016 09:43
Спасибо (+1) для @Big-Shark принято! Текущая карма +679.
Maxim
@Big-Shark
Feb 29 2016 09:43
@AAmirOFF посмотри направо, видишь там написано кто и кого забанил, и найди знакомый ник)
Роман Сохарев
@greabock
Feb 29 2016 09:44
давно я свой молот не протирал...
AAmirOFF
@AAmirOFF
Feb 29 2016 09:44
@Big-Shark Я не думаю что можно банить за то что кто то пытается за кастылить . или я ошибаюсь?
JhaoDa
@jhaoda
Feb 29 2016 09:44
@AAmirOFF тебя можно забанить только за издевательство на русским языком...
Maxim
@Big-Shark
Feb 29 2016 09:45
@AAmirOFF можно банить за все если хочется)
Роман Сохарев
@greabock
Feb 29 2016 09:45
@AAmirOFF блин, да никто не собирался тебя банить, посоны просто не в духе )
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:47

Сомо утрверждаитесь

:D мои глаза

Nuzsk
@Nuzsk
Feb 29 2016 09:47
@jhaoda ) я не думаю что у вас есть такие прова. ну всеже можете попробывать ) если ваша само оценка после этого вырастит я буду рад если ваша психическое састояние станет лутеше )
Роман Сохарев
@greabock
Feb 29 2016 09:47
Ну может, это не родной его язык
Nuzsk
@Nuzsk
Feb 29 2016 09:47
:smile:
давно тут так не было
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:48
@greabock вполне
NoViKoFF
@AndrewNovikof
Feb 29 2016 09:48
@Big-Shark идеальная вещица, да для задачи упаковать выгрузку в CSV это имхо большой пакет, но скорее всего он еще не раз пригодится для разных задач
JhaoDa
@jhaoda
Feb 29 2016 09:48
@greabock @symbios-zi спеллчекер работает в браузерах
AAmirOFF
@AAmirOFF
Feb 29 2016 09:49
))Пусть вас и улыбает мое знание русского языка. Улыбаейтесь это полезно.
Роман Сохарев
@greabock
Feb 29 2016 09:49
@jhaoda ну он в попыхах, на эмоциях...
Dinar Garipov
@garf
Feb 29 2016 09:49
@AAmirOFF Прочитай про middleware. Это займет у тебя 5 минут, которые ты сейчас тратишь на спор в чате.
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:49
@gaaarfild людям нужно внимание, а не доки
AAmirOFF
@AAmirOFF
Feb 29 2016 09:49
@gaaarfild да я сейчас этим и займусь. Спасибо
KarmaBot
@KarmaBot
Feb 29 2016 09:49
Спасибо (+1) для @gaaarfild принято! Текущая карма +99.
JhaoDa
@jhaoda
Feb 29 2016 09:50
@AAmirOFF т.е. ты предпочитаешь этим гордиться вместо того, что бы улучшить знания языка?
Dinar Garipov
@garf
Feb 29 2016 09:50
Скоро юбилей ))
Роман Сохарев
@greabock
Feb 29 2016 09:50
@symbios-zi а вот это уже "Мюнгхаузен"
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:50
@greabock ммм? )
Роман Сохарев
@greabock
Feb 29 2016 09:50
людям нужно внимание, а не доки
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:51
@greabock я только фильм смотрел и очень давно. Там что то подобное было?
Роман Сохарев
@greabock
Feb 29 2016 09:51
у врачей есть такой термин "синдром Мюнгхаузена" )
Nuzsk
@Nuzsk
Feb 29 2016 09:52
любительская психиатрия :smile:
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:52
@greabock а понял. ))) впервые услышал про такой синдром )
AAmirOFF
@AAmirOFF
Feb 29 2016 09:52
@jhaoda Я не думаю что можно этим гордится. но тот факт что кто то улыбается. есть в этом что то. Касаемо доков я читаю их. но весь вопрос в понимании.
JhaoDa
@jhaoda
Feb 29 2016 09:53
Программист-психиатр
Роман Сохарев
@greabock
Feb 29 2016 09:53
...симуляция болезни позволяет людям с этим синдромом получить внимание, заботу, симпатию и психологическую поддержку, которых ему не хватает.
AAmirOFF
@AAmirOFF
Feb 29 2016 09:53
)) ладно всем благ.
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:53
@AAmirOFF взаимно
Роман Сохарев
@greabock
Feb 29 2016 09:54
@AAmirOFF тоже не хворай
AAmirOFF
@AAmirOFF
Feb 29 2016 09:54
@jhaoda А вам желаю перебраться на правый берег ( мб вы подобрей станите)
Dinar Garipov
@garf
Feb 29 2016 09:54
@AAmirOFF В этом чате лучше не спрашивать, как сделать костыль. Здесь могут только подсказать, как сделать правильно, или где найти информацию, как сделать правильно.
Роман Сохарев
@greabock
Feb 29 2016 09:54
ахаха исправился )
AAmirOFF
@AAmirOFF
Feb 29 2016 09:54
@gaaarfild Спасибо. постараюсь в предь так и ставить вопросы.)))
KarmaBot
@KarmaBot
Feb 29 2016 09:54

Благодетель

@gaaarfild, вы выполнили условие: "Набрать 100 кармы.".
С чем и поздравляем =)
Благодетель
Спасибо (+1) для @gaaarfild принято! Текущая карма +100.
Роман Сохарев
@greabock
Feb 29 2016 09:54
@gaaarfild грац
Soprun Vladislav
@vlsoprun
Feb 29 2016 09:54
@gaaarfild Грац!
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:55
карма
@KarmaBot карма
Роман Сохарев
@greabock
Feb 29 2016 09:55
@symbios-zi ты не достоин )
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:55
((
Soprun Vladislav
@vlsoprun
Feb 29 2016 09:55
lol
Nuzsk
@Nuzsk
Feb 29 2016 09:55
карма
KarmaBot
@KarmaBot
Feb 29 2016 09:55
@Nuzsk, Ваша карма +22. Вы благодарили 17 раз.
- Достижения: "Находчивый"
- Профиль Nuzsk на laravel.su
AAmirOFF
@AAmirOFF
Feb 29 2016 09:55
А вас всех попрошу. не посылать в доки.
Nuzsk
@Nuzsk
Feb 29 2016 09:55
@AAmirOFF узбагойся
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:55
@AAmirOFF а куда посылать с такими вопросами? )
Роман Сохарев
@greabock
Feb 29 2016 09:56
@AAmirOFF когда наступит этот день, этот чатик умрёт
Dinar Garipov
@garf
Feb 29 2016 09:56
@greabock @vlsoprun Спасибо :)
KarmaBot
@KarmaBot
Feb 29 2016 09:56
Спасибо (+1) для @greabock принято! Текущая карма +332.
Спасибо (+1) для @vlsoprun принято! Текущая карма +94.
Nuzsk
@Nuzsk
Feb 29 2016 09:56
если ты не понимаешь доки - ищи просто другое объяснение
Dinar Garipov
@garf
Feb 29 2016 09:56
А я могу теперь требовать, чтобы меня называли "Благодетель ты наш?" :)
Роман Сохарев
@greabock
Feb 29 2016 09:56
@gaaarfild да, Благодетель ты наш
Anton Vorontsov
@symbios-zi
Feb 29 2016 09:56
@AAmirOFF альтернатива докам laracasts.com там все это разъясняется видео-уроками
AAmirOFF
@AAmirOFF
Feb 29 2016 09:56
Все ушол читать доки. До новых встреч)
@symbios-zi спасибо сейчас качаю торентом уже
KarmaBot
@KarmaBot
Feb 29 2016 09:57
Спасибо (+1) для @symbios-zi принято! Текущая карма +70.
Роман Сохарев
@greabock
Feb 29 2016 09:57
@AAmirOFF возвращайся, расскажешь что там пишут
AAmirOFF
@AAmirOFF
Feb 29 2016 09:57
@greabock не применно )
Роман Сохарев
@greabock
Feb 29 2016 10:01
лоль... группу читаете? Ёлка в Богомерзский просочилась...
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:05

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

К примеру у меня форма товара и там модели:

  • Товар
  • Вариант товара
  • Изображения
  • SEO

и это все разные модели

Dinar Garipov
@garf
Feb 29 2016 10:10
@greabock богомерзкий - это JS? :)
NelinD
@NelinD
Feb 29 2016 10:11

@greabock

ну он в попыхах, на эмоциях...

Пока не забанили)

@symbios-zi а тут мы начинаем говнокодить)
Dinar Garipov
@garf
Feb 29 2016 10:12
@symbios-zi Лучше в одной. Потом не будет сложности с синхронизацией. И обрабатывать одновременно проще.
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:13

@gaaarfild

       $this->storeProductAttributes($product, $request->product_attributes);
        $this->storeSimilarProducts($product, $request->similar_products);
        $this->storeCategories($product, $request->categories);
        $this->storeTypes($product, $request->types);
        $this->storeCollections($product, $request->collections);

вот это напрягает

vnmslf
@vnmslf
Feb 29 2016 10:13
@Big-Shark нет, не угадал)
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:13
вот думаю а что если по типу CQRS сделать и все повесить на команды. Как предлагал в свое время помоему @jhaoda
Спамить не хочу, поэтому это был крайний раз
Спасибо за терпение)
KarmaBot
@KarmaBot
Feb 29 2016 10:21
@chip-and-dail, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:21
ыы на этом форуме еще и пишет кто то
chip-and-dail
@chip-and-dail
Feb 29 2016 10:24
@symbios-zi А где писать-то ещё? Я не знаю где ларавельщики тусуются :)
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:26
@chip-and-dail здесь, в контакте. Видимо и там. Я чота как то далек от того сайта )
@chip-and-dail насчет работы можете еще и здесь написать http://vk.com/laravel_rus
Роман Сохарев
@greabock
Feb 29 2016 10:30
ребят, никто не писал класс под интеркассу?
chip-and-dail
@chip-and-dail
Feb 29 2016 10:33
@symbios-zi Та в ВК я писал, молчат и не шевелятся :)
Nuzsk
@Nuzsk
Feb 29 2016 10:33
@chip-and-dail может просто подождать?)
chip-and-dail
@chip-and-dail
Feb 29 2016 10:35
@Nuzsk угу ,что и делаю)
Dinar Garipov
@garf
Feb 29 2016 10:37
@symbios-zi А мне кажется, это хорошо читается.
@symbios-zi Только я бы передавал просто Request
Тогда можно было бы использовать его методы.
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:40
@gaaarfild мне тут вообще сказали что Request за пределы контроллера выходить не должен
но никаких доков на эту тему так и не нашел. @fesor пинг
Dinar Garipov
@garf
Feb 29 2016 10:41
@symbios-zi Ну может они правы. Но я не знаю, почему. :)
Roman
@fearrr
Feb 29 2016 10:49

Всем привет. Подскажите в чем может быть проблема, мне нужно поменять местами два профиля у одной записи, делаю это так

$profile1 = $item->profile_id;
$profile2 = $item->profile2_id;
$item->profile_id = $profile2;
$item->profile2_id = $profile1;
$item->save();

время updated_at меняется а записи остаются старыми.. в protected $fillable эти поля есть..

KarmaBot
@KarmaBot
Feb 29 2016 10:49
@fearrr, привет, как настроение?
Maxim
@Big-Shark
Feb 29 2016 10:50
@symbios-zi самый лучшие вариант это реалтайм сохранения аяксом
Dinar Garipov
@garf
Feb 29 2016 10:51
@Big-Shark :+1:
Плюс форму не придется перезагружать и засеивать данными, если ошибки какие.
Maxim
@Big-Shark
Feb 29 2016 10:51
@chip-and-dail только если в вк писать будешь, ты напиши перед этим @Butochnikov
@chip-and-dail ну и вилку зп обязательно укажи в обьявлении.
@gaaarfild угу
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:51
@Big-Shark по разным контроллерам аяксом слать?
Maxim
@Big-Shark
Feb 29 2016 10:52
@symbios-zi ну можно и в один контроллер
chip-and-dail
@chip-and-dail
Feb 29 2016 10:52
@Big-Shark А зачем писать Butochnikov?
Maxim
@Big-Shark
Feb 29 2016 10:52
@chip-and-dail он может от сообщества опубликует, точней сделает репост, и так больше количество человек увидит
AAmirOFF
@AAmirOFF
Feb 29 2016 10:53
Еше раз всем доброго времени . я как понял чтобы использовать группы полльзователей я должен создать дополнительный файл Middleware уже там делать логику автаризации. а в роутинге всего лишь обращатся к ней так:?
Maxim
@Big-Shark
Feb 29 2016 10:53
@chip-and-dail так как многие не заходит в группу, а просто подписаны ны нее, и видят только то что публикует админ в своей ленте
Orion55
@orion55
Feb 29 2016 10:53
Привет КармаБот и остальные тоже
Мдя...
Всем привет!
KarmaBot
@KarmaBot
Feb 29 2016 10:53
@orion55, и тебе привет ;)
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:53
@orion55 здарова
Maxim
@Big-Shark
Feb 29 2016 10:53
@AAmirOFF ну типа того
Orion55
@orion55
Feb 29 2016 10:53
Карма
KarmaBot
@KarmaBot
Feb 29 2016 10:53
@orion55, Ваша карма +23. Вы благодарили 16 раз.
- Достижения: "Находчивый"
- Профиль orion55 на laravel.su
Orion55
@orion55
Feb 29 2016 10:54
@symbios-zi привет
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:54
@chip-and-dail он админ, может написать от имени группы
Maxim
@Big-Shark
Feb 29 2016 10:54
Мне иногда кажется что за @KarmaBot отвечает @SerafimArts
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:54
@Big-Shark ага сидит вручную пишет всем :D
Orion55
@orion55
Feb 29 2016 10:55
@Big-Shark а как определить кто отвечает @SerafimArts или @KarmaBot ?
@Big-Shark или более общий вопрос, как определить, что @SerafimArts существует?
chip-and-dail
@chip-and-dail
Feb 29 2016 10:56
@symbios-zi Хорошо, спасибо
KarmaBot
@KarmaBot
Feb 29 2016 10:56
Спасибо (+1) для @symbios-zi принято! Текущая карма +71.
chip-and-dail
@chip-and-dail
Feb 29 2016 10:57
@Big-Shark Спасибо
KarmaBot
@KarmaBot
Feb 29 2016 10:57
Спасибо (+1) для @Big-Shark принято! Текущая карма +680.
Roman
@fearrr
Feb 29 2016 10:57
@orion55 Легко, если ответ заставляет задуматься о самоубийстве это @SerafimArts
Soprun Vladislav
@vlsoprun
Feb 29 2016 10:57
@fearrr ))
chip-and-dail
@chip-and-dail
Feb 29 2016 10:57
Ребят, всем спасибо за помощь. Ваш чатик покидаю, потому как в Laravel не понимаю :)
Покеда и хорошего всем дня!
Orion55
@orion55
Feb 29 2016 10:58
@fearrr а сколько человек уже совершили самоубийство при помощи @SerafimArts?
Maxim
@Big-Shark
Feb 29 2016 10:58
@orion55 хороший вопрос на самом деле)
Orion55
@orion55
Feb 29 2016 10:58
@Big-Shark так много?
Maxim
@Big-Shark
Feb 29 2016 10:58
@chip-and-dail да мы тоже не понимаем, не понимать, это норма)
@orion55 думаю надо узнать у него)
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:59
@orion55 ну так пообщайся с ним на тему JS фреймворков, проверим )
Roman
@fearrr
Feb 29 2016 10:59
@orion55 вероятнее всего этот факт тщательно скрывается самим @SerafimArts
Anton Vorontsov
@symbios-zi
Feb 29 2016 10:59
один человек пытался писать на js ООП и сошел с ума (С)
Dinar Garipov
@garf
Feb 29 2016 11:00
@symbios-zi Потому что потерялся во вложениях? :)
@symbios-zi Есть TypeScript. Намного приятнее выглядит ООП на нем ))
Orion55
@orion55
Feb 29 2016 11:00
@symbios-zi и я не понимаю протипную объектную модель в Javascript, думаешь и я скоро сойду? ;-)
@symbios-zi если он такой спец. у меня есть 3 вопроса по js, которые я не понимаю - нужно ему их задать :-)
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:01
@gaaarfild http://cs630316.vk.me/v630316259/507f/-7NCSY2KzU8.jpg
JhaoDa
@jhaoda
Feb 29 2016 11:13
Умный симфони (или ларавель) такой умный, что если послать в запросе json, то он будет преобразован в массив
Однако, красота, не ожидал...
Roman
@fearrr
Feb 29 2016 11:17

Повторюсь с вопросом, может все же кто-то подскажет

Подскажите в чем может быть проблема, мне нужно поменять местами два профиля у одной записи, делаю это так

$profile1 = $item->profile_id;
$profile2 = $item->profile2_id;
$item->profile_id = $profile2;
$item->profile2_id = $profile1;
$item->save();

время updated_at меняется а записи остаются старыми.. в protected $fillable эти поля есть..

Sergey Protko
@fesor
Feb 29 2016 11:19
@symbios-zi да, HttpRequest за пределы контроллера вылазить не должен
@symbios-zi в этом вся соль separation of presentation
Orion55
@orion55
Feb 29 2016 11:20
@fearrr может через sql update попробовать?
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:20
@fesor где об этом почитать можно? гуглиг-гуглил и не смог выгуглить
Dinar Garipov
@garf
Feb 29 2016 11:21
@fesor Какими проблемами это может обернуться?
FallenNoir
@FallenNoir
Feb 29 2016 11:25
Доброго времени суток, пытаюсь по примеру => http://sleeping-owl.github.io/en/Getting_Started/Menu_Configuration.html установить первое меню, пишет, что class Admin not found. Я что-то упускаю? Laravel 5.2, Sleeping Owl v4
Sergey Protko
@fesor
Feb 29 2016 11:25
@symbios-zi вот ты сто пудова знаешь про волшебные буквы MVC, или там про принцип separation of concerns, и при этом ты спрашиваешь "можно ли логику презентационную (HTTP) смешивать с логикой приложения"
@gaaarfild в большинстве случаев - никакими, ты просто завязываешься на UI. Если сегодня у тебя все работает на HTTP а завтра тебе надо добавить CLI/MQ - то ты проиграешь.
@gaaarfild ну или там банально если зоны ответственности разделены, можно лучше паралелить работу между разработчиками, или просто сохранять код более-менее чистым, понижая связанность.
Sergey Protko
@fesor
Feb 29 2016 11:26
@gaaarfild 40 лет уже MVC существует а люди до сих пор не знают зачем оно надо, а потом задают такие вопросы)
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:27
@fesor нигде я не видел такого чтобы зоны ответсвенности описывали для HttpRequest , поэтому и спрашиваю. Спроси тут любого кто так глубоко в понятиях MVC разбирается, я не думаю что найдется много таких
Orion55
@orion55
Feb 29 2016 11:27
@FallenNoir под 5.2 у этой админки какие-то проблемы, статья их решает
Sergey Protko
@fesor
Feb 29 2016 11:27
@symbios-zi ну так это ж плохо. В контексте WEB и PHP, UI приложения это HTTP
@symbios-zi контроллеры нужны что бы "действия пользователей" (а в нашем случае это HTTP запросы) конвертить в запрос на действие у модели (сервисы, что угодно)
@symbios-zi то есть "контроллер" это адаптер между HTTP и твоим приложением. Приложению же знать о HTTP вообще ненадо, так как ему должон быть плевать на UI
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:28
@fesor воооот, уже понятнее
@fesor пиши книжку давай на тему MVC :D
Sergey Protko
@fesor
Feb 29 2016 11:29
@symbios-zi да уже подумываю(
но тут не на MVC надо внимание концентрировать - это лишь один из вариантов
а на separation on concerns
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:30
@fesor я всего год на MVC, многое не ясно )
FallenNoir
@FallenNoir
Feb 29 2016 11:30
благодарю за ответы
KarmaBot
@KarmaBot
Feb 29 2016 11:30
@FallenNoir, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:30
если так глубоко копать )
saori
@saorityan
Feb 29 2016 11:30
@symbios-zi ну вообще логично продолжить концепцию MVC и единственной ответственности тем, что Request преобразуется в сущность твоего приложения в контроллере и дальше приложение работает только с твоими сущностями не завися от http)
@fesor как контр аргумент НИКОГДА: у меня в сложных кейсах есть сервисы, которые как раз и реквеста собирают нужный мне объект:)
Sergey Protko
@fesor
Feb 29 2016 11:31
@symbios-zi если у тебя http request дальше контроллеров ходит или ты прямо в контроллере работаешь с бизнес логикой - то это не MVC а smartui. И хоть это и считается антипаттернов - оно проще в обращении так что для половины проектов норм
@saorityan request нивкоем случае не "конвертится" в сущность моего приложения.
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:31
@fesor для общего развития хочу понимать как это все работает и как могло бы работать.
Sergey Protko
@fesor
Feb 29 2016 11:32
@saorityan ты знаешь о концепции use-cases? ну вот там короче для юзкейсов есть обязательные данных для выполнения кейса и т.д. Вот HTTP Request - это как раз таки "что делать и с какими данными".
asvae
@asvae
Feb 29 2016 11:32
Всем привет. Вопрос по вебсокетам в пхп.
Возможно ли на ларавелевский ивент типа "письмо отправлено" послать вебсокетом нотификейшон?
KarmaBot
@KarmaBot
Feb 29 2016 11:32
@Asvae, привет, как настроение?
Dinar Garipov
@garf
Feb 29 2016 11:33
@fesor Ну а что такого и какое имеет отношение MVC к Request? Я согласен насчет привязки к UI.
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:33

@fesor читал про CQRS и вот вопрос. у меня сложная форма пишущая в 4-6 моделей.

       $this->storeProductAttributes($product, $request->product_attributes);
        $this->storeSimilarProducts($product, $request->similar_products);
        $this->storeCategories($product, $request->categories);
        $this->storeTypes($product, $request->types);
        $this->storeCollections($product, $request->collections);

подумал что могу все кроме добавления самого товара вынести в команды. Вопрос отсюда, но получается что команда будет отрабатывать всегда, и даже если товар не добавлен?

Sergey Protko
@fesor
Feb 29 2016 11:33
@gaaarfild я уже выше написал что HTTP - это UI приложения. И HTTP Request - это действие пользователя (браузера, мобильной приложенька, чего угодно) над приложением.
@symbios-zi формы в контроллере, из них собираем DTO, DTO пробрасываем как аргумент команды
@symbios-zi если делать все правильно - можно сроки завалить)
Orion55
@orion55
Feb 29 2016 11:34
@fesor http - это протокол и ничего больше
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:34
@fesor есть такое
Sergey Protko
@fesor
Feb 29 2016 11:34
@orion55 это UI в контексте WEB
Maxim
@Big-Shark
Feb 29 2016 11:34
@fesor https://github.com/phpthinktank/blast-orm смотрел уже?
Dinar Garipov
@garf
Feb 29 2016 11:34
@fesor Я и сказал, что согласен )
Sergey Protko
@fesor
Feb 29 2016 11:35
@orion55 HTTP это протокол прикладного уровня, через который мы общаемся с приложением.
Maxim
@Big-Shark
Feb 29 2016 11:35
@jhaoda слим тоже так умеет)
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:35
@fesor не могу избавиться от перфекционизма нажравшись в свое время гавнобитрикса
Sergey Protko
@fesor
Feb 29 2016 11:35
@orion55 с точки зрения того кто формирует реквесты или читает ответы - это UI
@symbios-zi тебе надо различать что важно в данной ситуации а что не очень.
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:36
@fesor нет понимая как это различать. ))) всё методом проб и ошибок. Плюс руководство дало много времени на разработку. сказали сделать качественно в первую очередь
Maxim
@Big-Shark
Feb 29 2016 11:36
@FallenNoir напиши @butschster он админку 4 версию пишет
Orion55
@orion55
Feb 29 2016 11:36
@fesor представь ситуацию открыто 2 браузера с одним сайтом, как компьютер узнает в какой браузер посылать информацию об сайте?
Pavel Kuzmin
@s00d
Feb 29 2016 11:37
@chip-and-dail неплохая работа, жаль только я не подхожу)) Вообще сейчас на удаленку многие устраиваются, а вот сидеть в офисе очень сложно.
Dinar Garipov
@garf
Feb 29 2016 11:37
@symbios-zi Мало времени и качественно в первую очередь - взаимоисключающие.
Oleg
@Malezha
Feb 29 2016 11:37
@orion55 в заголовках запроса же все указано.
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:37
@gaaarfild ну у меня много времени )
Sergey Protko
@fesor
Feb 29 2016 11:37
@orion55 учи матчасть
Orion55
@orion55
Feb 29 2016 11:38
@Malezha там ip стоит
Sergey Protko
@fesor
Feb 29 2016 11:38
@orion55 где ip стоит?)
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:38
с этим мне повезло чтобы понять как все более менее правильно сделать и минимально гавнокодить. Заодно и подучил фреймворк
Arsen Soroka
@arsen-s
Feb 29 2016 11:38
@Asvae возможно, юзай socket io
Sergey Protko
@fesor
Feb 29 2016 11:38
@orion55 ты что-нибудь знаешь о протоколе tcp?)
VitaliiSestrenskyi
@VitaliiSestrenskyi
Feb 29 2016 11:38
првиет
Orion55
@orion55
Feb 29 2016 11:38
по логике @fesor разницы нет
kozlikov
@kozlikov
Feb 29 2016 11:38
Всем привет!
KarmaBot
@KarmaBot
Feb 29 2016 11:38
@kozlikov, здравствуй.
Sergey Protko
@fesor
Feb 29 2016 11:38
@orion55 о чем ты? Есть запрос пользователя (браузера) и ему же надо отдать ответ
Orion55
@orion55
Feb 29 2016 11:39
@fesor какому браузеру?
@fesor я тебя плавно подвожу к понятию сокет
Maxim
@Big-Shark
Feb 29 2016 11:39
Предвещаю скоро волну вопросов тип, а в ларавели есть такая штука https://github.com/vesnateam/sandstorm
Orion55
@orion55
Feb 29 2016 11:40
@fesor ip+порт - именно это связка позволяет отличать браузеры
Sergey Protko
@fesor
Feb 29 2016 11:40
@orion55 это транспортный уровень
Orion55
@orion55
Feb 29 2016 11:40
@fesor у 10 открытых браузеров на компе будет свой порт
Sergey Protko
@fesor
Feb 29 2016 11:40
@orion55 HTTP плевать вообще, у тебя запрос/ответ работает поверх TCP-сессии (подвожу тебя к понятию TCP-сокет))
JhaoDa
@jhaoda
Feb 29 2016 11:40
@orion55 эта связка не позволяет отличать браузеры
Sergey Protko
@fesor
Feb 29 2016 11:41
@orion55 у тебя будет 10 портов чувак
@orion55 10 браузеров - 10 открытых сокетов со своими дескрипторами
Orion55
@orion55
Feb 29 2016 11:41
@fesor точно, и как это относиться с 1 пользователем? приравнивать пользователя к протоколу не совсем корреткно
Oleg
@Malezha
Feb 29 2016 11:42
@orion55 понятие "пользователь" вообще отсутствует, есть клиент.
asvae
@asvae
Feb 29 2016 11:42
@arsen-s Это ж нод, не?
И можно немного подробностей или ткнуть в почитать.
Просто не хочется сильно вникать, если нужной мне возможности там таки нет.
Sergey Protko
@fesor
Feb 29 2016 11:42
@orion55 пользователь в нашем случае - браузер, он устанавливает сессию на уровне протокола TCP, а HTTP использует как интерфейс взаимодействия
@Malezha ну или так да, заменить "пользователя", который у всех почему-то ассоциируется с человеком, на "клиент"
Orion55
@orion55
Feb 29 2016 11:43
@fesor и?
Sergey Protko
@fesor
Feb 29 2016 11:44
@orion55 что И?) ты не понимаешь что "протокол" и есть "интерфейс взаимодействия между двумя частями системы"?
Oleg
@Malezha
Feb 29 2016 11:44
Я что то потерял нить разговора, о чем спор вообще?)
Sergey Protko
@fesor
Feb 29 2016 11:44
@orion55 в нашем случае протокол - HTTP, он обеспечивает взаимодействие клиента и сервера, в этом случае HTTP это UI
Orion55
@orion55
Feb 29 2016 11:45
@fesor а http тут причем, почему не xml-rpc?
Sergey Protko
@fesor
Feb 29 2016 11:45
@orion55 потому что в 99% случаев это таки HTTP
@orion55 может быть и SOAP, может быть и xml/rpc но все это идет поверх HTTP
Orion55
@orion55
Feb 29 2016 11:45
@fesor а зачем сводить человек к протоколу?
Sergey Protko
@fesor
Feb 29 2016 11:46
@orion55 затем что бы человек понял почему HttpRequest - это часть UI и ее не нужно дальше контроллера прокидывать
Orion55
@orion55
Feb 29 2016 11:46
@fesor давай всё сведём к ARP - пакетам или волновой функции электрона :-)
JhaoDa
@jhaoda
Feb 29 2016 11:46
@orion55 а ты ставишь на один уровень http и xml-rpc?
Orion55
@orion55
Feb 29 2016 11:46
@jhaoda это 2 протокола
Sergey Protko
@fesor
Feb 29 2016 11:46
@jhaoda в случае xml-rpc http будет только транспортом
JhaoDa
@jhaoda
Feb 29 2016 11:46
@orion55 но на одном уровне?
Sergey Protko
@fesor
Feb 29 2016 11:46
@orion55 это два протокола, но xml-rpc работает поверх HTTP
JhaoDa
@jhaoda
Feb 29 2016 11:47
@fesor ну што ты интригу испортил...
Sergey Protko
@fesor
Feb 29 2016 11:47
@orion55 но да, для приложения UI-ем будет считаться именно XML-RPC
Arsen Soroka
@arsen-s
Feb 29 2016 11:48
@Asvae ну тебе же надо это делать в real time.
вот почитай сдесь есть пример http://blog.joshsoftware.com/2012/01/30/push-notifications-using-express-js-and-socket-io/
Oleg
@Malezha
Feb 29 2016 11:50
@Asvae есть же Ratchet для сокетов на php.
asvae
@asvae
Feb 29 2016 11:52
@Malezha его и поставил собственно.
Вопрос только с передачей ивента процессу.
JhaoDa
@jhaoda
Feb 29 2016 11:54

Давайте о насущном поговорим. Вот должно быть у меня API-endpoint для мобилок (JWT, json, Gitub-like) и обычный endpoint для браузеров. Фронт-часть весьма богата js'ом, многие запросы к бэку будут делаться аяксом.

Что модно в этом сезоне: выносить всю логику, например, в команды и из фронт/api-контроллеров просто их вызывать, форматируя результат по необходимости в html/json? Небольшой оверхэд кода.
Или делать яваскриптом аякс-запросы к api? Тогда небольшой оверхэд на дополнительную аутентификацию js-приложением для выполнения запросов.

kozlikov
@kozlikov
Feb 29 2016 11:54

При создание собственного MyServicesProvider exteds Illuminate\Support\ServiceProvider, а так же в данном сервис провайдере подключаю файл роутов, то при использование Route::bind, в контроллер приходит пустой объект (а запрос выполняется /myurl/2). Уточните, пожалуйста, почему так происходит ?

P.S. если наследоваться от Illuminate\Foundation\Support\Providers\RouteServiceProvider то все работает.

Dinar Garipov
@garf
Feb 29 2016 11:55
@jhaoda Мне кажется, второй вариант.
Anton Vorontsov
@symbios-zi
Feb 29 2016 11:55
@jhaoda возвращать html не модно
Orion55
@orion55
Feb 29 2016 11:56
@jhaoda а ещё модно разбить всё на сервисы, сервисы упаковать в контейнеры, а контейнеры разместить в облаке :-)
JhaoDa
@jhaoda
Feb 29 2016 11:57
@orion55 это никаким боком не относится к моему вопросу
Orion55
@orion55
Feb 29 2016 11:58
@jhaoda Что модно в этом сезоне
JhaoDa
@jhaoda
Feb 29 2016 11:58
@orion55 и два варианта после этой фразы
Andrei Sosnov
@atehnix
Feb 29 2016 11:59
@jhaoda я бы делал аяксом к апи, наверное. По мне так это более логичный вариант в этом случае.
JhaoDa
@jhaoda
Feb 29 2016 11:59
@orion55 понимаешь? Два. Варианта. Не твой вариант, не Васи, а выбрать одно из двух.
Maxim
@Big-Shark
Feb 29 2016 11:59
@jhaoda прочто аякс запросы делай
Pavel Kuzmin
@s00d
Feb 29 2016 12:00
@jhaoda тогда выбирай 1. п.с. даже не читал что за варианты, просто цифра 1 круче))
JhaoDa
@jhaoda
Feb 29 2016 12:02
@gaaarfild @atehnix @Big-Shark и я склонен с вами согласиться, но возникает вопрос двойной аутентификации. Человек логинится на сайт, загружается страница, инитится js-приложуха, СНОВА логинится, но уже в API, получая JWT-токен (или не получая, если гость)
Dinar Garipov
@garf
Feb 29 2016 12:02
@jhaoda А нельзя отдать токен при первой авторизации?
Maxim
@Big-Shark
Feb 29 2016 12:03
@jhaoda у нас был хитрый алгоритм который вызывал одни и тебе методы, но в одном случае авторизация была по токену. а во втором по сесии и кукам, вообщем страндартным методом
Andrei Sosnov
@atehnix
Feb 29 2016 12:03
@gaaarfild не успел написать, с языка снял)
Maxim
@Big-Shark
Feb 29 2016 12:03
@jhaoda а в методо всегда был Auth::user, так чтов се работало норм
JhaoDa
@jhaoda
Feb 29 2016 12:03
@gaaarfild вариант, да
Dinar Garipov
@garf
Feb 29 2016 12:03
@jhaoda И я может не очень понимаю всей сложности системы, но разве JS приложуха не клиентом пользуется? Тогда сессии уже не работают?
JhaoDa
@jhaoda
Feb 29 2016 12:04
@Big-Shark ну я какбэ делаю REST-like, какие там сессии?
Dinar Garipov
@garf
Feb 29 2016 12:04
Или апи нужен еще где-то?
JhaoDa
@jhaoda
Feb 29 2016 12:04
@gaaarfild «API-endpoint для мобилок»
Dinar Garipov
@garf
Feb 29 2016 12:04
@jhaoda А ну да. :) Н - Невнимательность. :)
Pavel Kuzmin
@s00d
Feb 29 2016 12:05
@jhaoda вернуть после авторизации вернуть токен и дальше работать, в чем проблема то?
Dinar Garipov
@garf
Feb 29 2016 12:05
@jhaoda Можно только с токенами работать. :)
JhaoDa
@jhaoda
Feb 29 2016 12:05
С другой стороны, stateless в REST означает не хранить состояния между запросам, но аутентифицировоать по куке роде как не против догм?
Maxim
@Big-Shark
Feb 29 2016 12:05
@jhaoda ну у аякса та все норм?
Dinar Garipov
@garf
Feb 29 2016 12:05
@jhaoda Вроде как нет :)
@jhaoda Может же кука быть как идентификатором сессии, так и токеном?
JhaoDa
@jhaoda
Feb 29 2016 12:06
@Big-Shark ну так аякс-то к этому API делает запросы, а API на данный момент, по плану, понимает только JWT-токен
Maxim
@Big-Shark
Feb 29 2016 12:07
@jhaoda ну пускай он не только жвт понимает
asvae
@asvae
Feb 29 2016 12:07
@arsen-s мне не столько надо риалтайм, сколько пхп.
JhaoDa
@jhaoda
Feb 29 2016 12:07
@Big-Shark вот и разбираюсь
Andrei Sosnov
@atehnix
Feb 29 2016 12:16
@Big-Shark @jhaoda по-моему, в случае API делать аутентификацию не по токену - плохая практика. Раз уже используется JWT, то его и надо юзать, имхо.
..а получать его, в даном случае, одновременно с обычной аутентификацией. Я бы так сделал, по-крайней мере)
JhaoDa
@jhaoda
Feb 29 2016 12:28
@atehnix почти согласен
Если фронэндер меня вдруг не переубедит... :)
Myroslav Zozulia
@diwms
Feb 29 2016 12:41

всем привет.
ребята подскажите, пожалуйста, по организации кода и как лучше поступить.
суть в том что есть две модельки. PostArticle && PostQuote. Суть в том что они почти-почти одинаковые за исключением того, что в первой на 3 колонки больше. В остальном все тоже. В базе это две таблицы, соответственно так и должно быть, тут ничего менять не надо потому что это в целях масштабирования сделано.
т.к суть их почти одинакова я создал один сервис который в зависимости от модели создает/апдейтит/удаляет все это дело из базы

Но ситуация сейчас такая что постоянно приходится проверять что мне пришло..
тоесть если это type = article
то я создаю PostArticle и получается что-то вроде
type == article ? new PostArticle() : new PostQuote()

как этого можно избежать и как оптимизировать что бы постоянно не проверять?

KarmaBot
@KarmaBot
Feb 29 2016 12:41
@diwms, привет =)
Myroslav Zozulia
@diwms
Feb 29 2016 12:42
есть идея в том что бы сделать setter и туда передать тип что бы юзать по всему класу. Но это как-то не тру, вроде. Может еще что-то подскажете ?
Sergey Protko
@fesor
Feb 29 2016 12:45
@diwms table inheritance
@diwms есть правда риск что богомерзский элоквент этого не умеет
ну или тупот отнаследоваться
Maxim
@Big-Shark
Feb 29 2016 12:46
@diwms через пакет умеет
Myroslav Zozulia
@diwms
Feb 29 2016 12:46
и еще проблема в том что у меня propel ;) и соответственно есть классы AR и Query
Maxim
@Big-Shark
Feb 29 2016 12:46
@diwms в пропер есть table inheritance
@diwms но у тебя тут немного все наоборот, table inheritance это когда таблица одна, а модели 2
jongleb
@jongleb
Feb 29 2016 12:47
Привет, кто vue пользуется , брали ли https://github.com/vuejs/vue-validator ? приходилось ли писать директиву-надстройку для подсветки ошибок? потому что судя по докам из коробки можно только забивать кашей вроде
 <span v-if="$validation1...
Maxim
@Big-Shark
Feb 29 2016 12:47
@diwms а у тебя 1 модель на 2 таблички?
Myroslav Zozulia
@diwms
Feb 29 2016 12:47
@Big-Shark у меня две модели и две таблички и один сервис :)
Maxim
@Big-Shark
Feb 29 2016 12:47
@diwms но ты хочешь использовать же 1 модель?
Myroslav Zozulia
@diwms
Feb 29 2016 12:50
@Big-Shark а как писать в разные таблички притом что это разные сущности. они просто 80% общего имеют
@Big-Shark не совсем понимаю идеи 1 модели и как мне это поможет. Поясни для тех кто в бронепоезде плиз :)
Maxim
@Big-Shark
Feb 29 2016 12:50
@diwms создать модель который будет знать куда писать, и у которой будут сетеры и гетеры
@diwms подожди, а как у тебя сервис работает покажи
@diwms может тебе фактори сделать?
Myroslav Zozulia
@diwms
Feb 29 2016 12:56
<?php

class service
{
    public function processSave($type, $data)
    {
        $connection = Propel::getWriteConnection(Propel::getDefaultDatasource());
        $connection->beginTransaction();

        try {
            $model = $type === 'article'
                ? new PostArticle()
                : new PostQuote();


            $model->setUserId($data->user_id);

            $model->save();
            $connection->commit();

            return true;
        } catch (Exception $e) {
            $connection->rollBack();


            return false;
        }
    }
}
KarmaBot
@KarmaBot
Feb 29 2016 12:56
@diwms, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Myroslav Zozulia
@diwms
Feb 29 2016 12:57
что-то в этом роде. только если есть дополнительные данные то я опять проверяю тип и вызываю необходимые сеттеры
Maxim
@Big-Shark
Feb 29 2016 13:00
@diwms омг, у тебя первый пропел или второй?
Myroslav Zozulia
@diwms
Feb 29 2016 13:00
второй
Maxim
@Big-Shark
Feb 29 2016 13:00
@diwms тогда тут не нужна трандакция

@diwms

$model = $type === 'article'
                ? new PostArticle()
                : new PostQuote();

вот эьто вынеси в фабрику

@diwms будет типа $model = $this->factoryService->factory($type);
Roman
@fearrr
Feb 29 2016 13:03
Бле, как всегда убил два часа на поиск ошибки на несоответствие типов
Sergey Protko
@fesor
Feb 29 2016 13:16
@fearrr задумайся о том, что надо сделать что бы не допускать подобных ошибок, раз не в первый раз
Ivan
@Hunternnm
Feb 29 2016 13:16
Ну фак... Делаю своюб артизан-команду... Эррор хоть ты тресни... а ее нужно в кернел еще засунуть
в доке про это - хрен
Ivan
@Hunternnm
Feb 29 2016 13:19
млять... а почему это не в начале впихнуть?
Artur Gafurov
@assurrussa
Feb 29 2016 13:20
@Hunternnm в самом начале hash ссылка)
Sergey Protko
@fesor
Feb 29 2016 13:21
@Hunternnm потому что читать документацию надо до конца, а не кусками
@Hunternnm там доки на 2 минуты чтения
Roman
@fearrr
Feb 29 2016 13:22
@fesor приводить все переменные?
блин не походу не в этом ошибка..
Ivan
@Hunternnm
Feb 29 2016 13:22
Дык смотрю - описание аргументов и пр... Думаю значит всё, гуд
Эххх, дока-дока
Dinar Garipov
@garf
Feb 29 2016 13:22
@fearrr Неверное предположение ))
Roman
@fearrr
Feb 29 2016 13:24
Почему может не опбновляться несколько значений в одной строке в БД??? Одно обновляется второе нет, если сразу два обновлять то вообще ничего не обновляется не DB::where->update не через ->save()
Двумя запросами подряд тоже
Типы все привел, проверил
Myroslav Zozulia
@diwms
Feb 29 2016 13:25
@Big-Shark а что мне это даст? Особо не вижу преимущества...
Dinar Garipov
@garf
Feb 29 2016 13:25
@fearrr Ты код покажи.
Sergey Protko
@fesor
Feb 29 2016 13:25
@fearrr php7, тайпхинтинг для скаляров, strict mode
Dinar Garipov
@garf
Feb 29 2016 13:25
@diwms Это даст в дальнейшем возможность добавлять больше разных вариантов без головной боли и переписывания.
Myroslav Zozulia
@diwms
Feb 29 2016 13:27

@gaaarfild да соглсен. для этого и придумана факторя :)

вот это нашел, но не знаю как заюзать в моем кейсе :(
http://propelorm.org/documentation/08-inheritance.html

Sergey Protko
@fesor
Feb 29 2016 13:27
@diwms Concrete Table Inheritance походу тебе надо
Myroslav Zozulia
@diwms
Feb 29 2016 13:41
@fesor походу не все так просто. то что я понял так это Concrete Table Inheritance тогда надо юзать когда есть основная таблица + типы
в примере там табла контент и отдельные таблицы для видео и записей
Roman
@fearrr
Feb 29 2016 13:42
if($users->where('profile2_id','=',$profile->id)->count()>0){
     foreach($users->where('profiles2_id','=',$profile->id)->get() as $item){
           $profile1 = (int)$item->profile2_id;
           $profile2 = (int)$item->profile_id;
           $item->profile2_id=$profile2;
           $item->profile_id=$profile1;
           $item->save();
      }
}
@gaaarfild вот
@gaaarfild они должны поменяться местами, если выполняется условие.. но в БД все остается как есть
Юрий
@sawerus
Feb 29 2016 13:54
@fearrr а save то что сохраняет? item? это что модель?
Roman
@fearrr
Feb 29 2016 13:56
@sawerus объект модели
Юрий
@sawerus
Feb 29 2016 13:57
@fearrr
может так
$users->profile2_id=$profile2;
$users->profile_id=$profile1;
$users->save();
Roman
@fearrr
Feb 29 2016 13:58
@sawerus и добавиться новая запись? мне надо существующую изменить
Юрий
@sawerus
Feb 29 2016 14:00
@fearrr
$users= User::find($profile->id);
....
запросов куча будет правда
Dinar Garipov
@garf
Feb 29 2016 14:03

@fearrr

if($users->where('profile2_id','=',$profile->id)->count()>0){
     foreach($users->where('profiles2_id','=',$profile->id)->get() as $item){

Зачем 2 раза where?
И проверь, что у тебя находится в $user прямо перед foreach.

Roman
@fearrr
Feb 29 2016 14:13
@sawerus пробовал добавлять find суть не меняется, также ничего не происходит..
Юрий
@sawerus
Feb 29 2016 14:15
@fearrr protected $fillable есть в модели ?
Roman
@fearrr
Feb 29 2016 14:15

@gaaarfild да я это убрал, тут вопрос не в оптимизации, а в том почему не сохраняет,

 foreach($users->get() as $item){
       $p1 = (int)$ka->profile2_id;
       $p2 = (int)$ka->profile_id;
       $item = $users->find($item->id);
       $item->profile2_id=$p2;
       $item->profile_id=$p1;
       $item->save();
}

также не работает

Юрий
@sawerus
Feb 29 2016 14:16
я тоже тут как то сидел тормозил а оказалось поле не прописано было в protected $fillable
Maxim
@Big-Shark
Feb 29 2016 14:16
омг
$users-> замени на User::
Roman
@fearrr
Feb 29 2016 14:19
@sawerus я уже выше писал что в $fillable прописано
@Big-Shark заменил, все ровно не работает
Юрий
@sawerus
Feb 29 2016 14:19
@fearrr сори, пропустил..
Maxim
@Big-Shark
Feb 29 2016 14:19
@fearrr ну тогда молись и бей в бубен
Roman
@fearrr
Feb 29 2016 14:21
@sawerus +1 сори прянято, Вы извинились 1 раз, у Вас попросили прощение 0 раз :smile:
@Big-Shark уже два часа это делаю, не помогает)
Dinar Garipov
@garf
Feb 29 2016 14:22
@fearrr приводить типы не надо. Не в этом проблема.
Roman
@fearrr
Feb 29 2016 14:22
Самое интересное что updated_at обновляется
Dinar Garipov
@garf
Feb 29 2016 14:23
@fearrr Ты все таки посмотри, что у тебя лежит в $users перед foreach.
dd($users);
Roman
@fearrr
Feb 29 2016 14:23
@gaaarfild согласен, выводил значения в dd(), они int
Dinar Garipov
@garf
Feb 29 2016 14:23
@fearrr Потому что у тебя отработал ->count() я думаю.
А ты про внутри foreach
Я говолрю про снаружи него
Что ты итерируешь
Roman
@fearrr
Feb 29 2016 14:25
@gaaarfild там коллекция с одним юзером
Вроде все норм
#fillable: array:4 [▼
        0 => "name"
        1 => "code"
        2 => "profile_id"
        3 => "profile2_id"
      ]
Ivan
@Hunternnm
Feb 29 2016 14:28
Коллеги, чем пользуетесь для поиска слова в строке? str_contains или preg_match?
Roman
@fearrr
Feb 29 2016 14:28
Но не пишет все ровно
Дело может не в куске этого кода
Юрий
@sawerus
Feb 29 2016 14:30
@fearrr кинь весь метод
Maxim
@Big-Shark
Feb 29 2016 14:33
@fearrr только не сюда, а на пастбин
Юрий
@sawerus
Feb 29 2016 14:33
ну само собой )
Roman
@fearrr
Feb 29 2016 14:33
@sawerus там очень много вызовов, это практически весь метод класса, который должен менять местами профили, не разбираться же во всем классе контроллера
Maxim
@Big-Shark
Feb 29 2016 14:33
@Hunternnm str_contains, substr, strpos и тд
Roman
@fearrr
Feb 29 2016 14:34
@Big-Shark если я сюда скину перекроет нахрен всю переписку за сутки :smile:
Ivan
@Hunternnm
Feb 29 2016 14:35
хм, а по идее найти значение на соответствие из массива самое оно через array_filter...
мысли вслух
сделал для нашего тв-канала автоматический парсер с ютуба... теперь он и сам по категориям раскидывать будет) человеку только галки ставить что на главной а что нет
нужно требовать премию
Maxim
@Big-Shark
Feb 29 2016 14:36
@Hunternnm я предпочитаю foreach и break, так как мне не нужны все, мне нужно просто узнать есть ли там чтото такое)
Ivan
@Hunternnm
Feb 29 2016 14:37
@Big-Shark ну смотри, у меня массив из примерно 10 элементов. мне нужно узнать к какому элементу принадлежит текущая строка
тоже думал foreach, но подумал что через array_filter оно быстрее
Dinar Garipov
@garf
Feb 29 2016 14:37
@fearrr Ты скинь на pastebin.com
И избегай таких больших методов.
Maxim
@Big-Shark
Feb 29 2016 14:38
@Hunternnm не факт)
Roman
@fearrr
Feb 29 2016 14:39
@gaaarfild ты не понял, метод не большой, строк на 15, просто он вызывает в ходе работы другие методы, чтобы разобраться придется весь класс кидать..
Ivan
@Hunternnm
Feb 29 2016 14:39
@Big-Shark если бы массив был на пару к то точно не факт - break тормозит на нужном элементе. array_filter все прогонит, это да
Dinar Garipov
@garf
Feb 29 2016 14:39
@fearrr Ну выложи весь. Заодно кодревью получишь бесплатно : )
Maxim
@Big-Shark
Feb 29 2016 14:40
@Hunternnm ну нужно еще смотреть сколько раз функция вызывается и тд
Roman
@fearrr
Feb 29 2016 14:40
@gaaarfild ну меня тогда закидают помидорами, т.к. приложение не типовое, и задача не типовая для лары...
Dinar Garipov
@garf
Feb 29 2016 14:41
@fearrr В этом ничего плохого нет. Это поможет тебе только вырасти.
Более того, возможно твой код станет лучше
Roman
@fearrr
Feb 29 2016 14:41
@gaaarfild я когда начинал его делать, мне даже не смогли нормально подсказать как построить такую связь, и посоветовали не использовать реляционную БД
Юрий
@sawerus
Feb 29 2016 14:42
@fearrr много отступлений ))) кидай давай уже ))
Dinar Garipov
@garf
Feb 29 2016 14:42
@fearrr не бойся. Никто к тебе домой не приедет. И презирать не начнет.
Все мы неидеальны.
Ну кроме @jhaoda
Юрий
@sawerus
Feb 29 2016 14:43
АХАхххх
если честно я тоже про него подумал.... он выжидает сидит ))
Юрий
@sawerus
Feb 29 2016 14:51

@fearrr

$affectedRows = User::where('votes', '>', 100)->update(['status' => 2]);

так не пробовал?

Roman
@fearrr
Feb 29 2016 14:52
@sawerus пробовал и через DB::
@gaaarfild ахха, ну ладно попробуйте глянуть https://gist.github.com/fearrr/7688e61721cc5c953b4a
Dinar Garipov
@garf
Feb 29 2016 14:53
@fearrr Сурово! ))
Засунь ссылку в код
Оберни кавычками всмысле
Юрий
@sawerus
Feb 29 2016 14:54
столько форычей в форычах...
Roman
@fearrr
Feb 29 2016 14:54
да я понял))
@sawerus дада
Dinar Garipov
@garf
Feb 29 2016 14:54
Очень большие вложенности.
Pavel Kuzmin
@s00d
Feb 29 2016 14:54
какая жуть.. ты сам как это вообще разбираешь?))
Dinar Garipov
@garf
Feb 29 2016 14:54
Попробуй отделять их в приватные методы. СТанет легче читать код
Pavel Kuzmin
@s00d
Feb 29 2016 14:55
и не удалять пробелы, это ужасно портит читаемость кода
Dinar Garipov
@garf
Feb 29 2016 14:55
@fearrr
    public function updateRo($ro){
        return Organisation::where('id', '=', $ro->id)->first();
    }
@fearrr Где апдейт? :)
Roman
@fearrr
Feb 29 2016 14:56
@gaaarfild ну по сути он должен новый запрос делать
Myroslav Zozulia
@diwms
Feb 29 2016 14:56
@Big-Shark Решил я переписать немножко код. Посоветуй плиз в какую сторону двигаться. Нужно оставить две таблички, но сделать одну логику без геморроя. Как лучше поступить в моей ситуации?
вот если бы ты с нуля писал
Maxim
@Big-Shark
Feb 29 2016 14:57
@diwms ну сделать фактори который будет тебе возвращять одну из моделей, а модели унаследуй от интерфейса, и пропиши в пхп док что фектори вернет интерфейс
Dinar Garipov
@garf
Feb 29 2016 14:58
@fearrr Он у тебя достает первый элемент по условию. Апдейта не происходит в методе :)
Roman
@fearrr
Feb 29 2016 14:59
@gaaarfild аа ну так да, у меня здесь просто метод не правильно называется, он просто должен вытаскивать заново из базы запись на случай если она где-то обновлялась
@gaaarfild это можно сказать reload
Dinar Garipov
@garf
Feb 29 2016 15:00
@fearrr Будьт внимателен с именами методов. Это серьезная вещь на самом деле.
@fearrr Этот метод конкретно может называться только getRoById() или find(). Но find() уже и так есть.
Organisation::find($ro->id);
Pavel Kuzmin
@s00d
Feb 29 2016 15:01
ro ka ko ke me be вот что я понял)))
Roman
@fearrr
Feb 29 2016 15:02
@s00d Такие сокращения используются в ТЗ
Юрий
@sawerus
Feb 29 2016 15:02
@fearrr а это нормально.. в форыч as $ka
потом в итерации переписываем $ka до и после перезаписи данные выдераем
asvae
@asvae
Feb 29 2016 15:03
Насчет отправки из пхп в вебсокет процесс. Оказывается, что решение есть и притаилось оно в доке, как обычно. http://socketo.me/docs/push
Pavel Kuzmin
@s00d
Feb 29 2016 15:03
@fearrr я бы запутался 150 раз))
Roman
@fearrr
Feb 29 2016 15:03
@gaaarfild понятно, а как ты говоришь упростить вложенность?
@s00d да там и ТЗ такое же)
Я всю голову сломал
Dinar Garipov
@garf
Feb 29 2016 15:04
@fearrr Твой код не будут видеть те, кто пишет ТЗ обычно. А вот ты его будешь читать. И недоумевать, что такое ro ka me be pe
Myroslav Zozulia
@diwms
Feb 29 2016 15:05
@Big-Shark или сделать в одну таблицу и не парить себе мозги :(
что за день
Dinar Garipov
@garf
Feb 29 2016 15:05
@fearrr Ну берешь и один из форичей целиком убираешь в другой метод. Даешь ему нормальное название. И используешь его. А если еще найдешь закономерность, то сможешь его и в других местах заменить. Уберешь повторение кода.
Менять надо будет только в одном месте а не в тридцати
Ivan
@Hunternnm
Feb 29 2016 15:05
@fearrr ехал foreach через foreach. видит foreach - foreach foreach
Roman
@fearrr
Feb 29 2016 15:06
@gaaarfild в паблик функции?
Pavel Kuzmin
@s00d
Feb 29 2016 15:06
@fearrr я так понял он про вынос в отдельную функцию всего что в цикле, мне иногда помогает упростить код для себя, а на счет названий я бы обсудил такие названия с тем кто давал тз. За инициативу редко убивают, а адекватные вопросы принимают только с радость))
Maxim
@Big-Shark
Feb 29 2016 15:06
@diwms лучше в одну
Pavel Kuzmin
@s00d
Feb 29 2016 15:07
@fearrr в приватные, зачем они в других местах
появиться необходимость сменишь тип
Roman
@fearrr
Feb 29 2016 15:07
@s00d да их по другому и не назовешь это просто различные множества организаций, у них только условные всякие коды
Myroslav Zozulia
@diwms
Feb 29 2016 15:08
@Big-Shark тогда она будет убогой.. потому что для одного типа будет в базе NULL для ровов а для другого будут значения
Maxim
@Big-Shark
Feb 29 2016 15:09
@diwms и что, сделать 2 типа просто, и 2 модели, с базовой
Myroslav Zozulia
@diwms
Feb 29 2016 15:10
id | type | column_sample
1 | article | some name
2 | qoote | NULL
5 | article | some name two
6 | qoote | NULL
@Big-Shark я вот этого боюсь
Roman
@fearrr
Feb 29 2016 15:10
@s00d А foreach засовывать в функцию через обратный вызов?
Maxim
@Big-Shark
Feb 29 2016 15:11
@diwms это лучше чем дублирование
Myroslav Zozulia
@diwms
Feb 29 2016 15:11

@Big-Shark

и что, сделать 2 типа просто, и 2 модели, с базовой
а мне ведь придется опять определять что это за тип постоянно?

Dinar Garipov
@garf
Feb 29 2016 15:11
@fearrr Если это коды организаций, то надо не новые методы создавать, а параметризировать их. Ты организации по разному обрабатываешь в логике?
Pavel Kuzmin
@s00d
Feb 29 2016 15:11
@fearrr нет. оставь тамже, только внутренности в отдельную функцию
Maxim
@Big-Shark
Feb 29 2016 15:11
@diwms с базовым, если базовый делаешь, то нет
@diwms только в тип ставишь то что тебе пришло, и все
Roman
@fearrr
Feb 29 2016 15:12
Тут я еще первый раз с такой проблемой столкнулся как неправильная оценка масштаба, сначала попросили сделать один функционал, я написал было мало кода, потом добавилось еще, еще, еще, еще и получилась такая вот херня
Юрий
@sawerus
Feb 29 2016 15:15
@fearrr закопипасть, модель Organisation
Roman
@fearrr
Feb 29 2016 15:16
@gaaarfild ну тут как бы единой структуры нет, мне кажется параметризовать будет еще сложнее код
Я вот думал часть запросов в модель убрать
Myroslav Zozulia
@diwms
Feb 29 2016 15:17

@Big-Shark в идеале давай подобьем итоги все ли я правильно понимаю

  1. Загнать все в одну таблицу
  2. Заюзать Concrete Table Inheritance от пропела
  3. Как результат у меня выйдет базовая модель Post и еще две Article && Quote
  4. Всё то что common для моделей я выношу в Post (базовую) а то что уникальное для каждого типа остается в модели этого типа.

Все правильно? Не понимаю как тогда будет выглядеть сейв данных :)

Roman
@fearrr
Feb 29 2016 15:18
@sawerus https://gist.github.com/fearrr/d11e68414e39906c1f3c
Maxim
@Big-Shark
Feb 29 2016 15:20
@diwms да
Myroslav Zozulia
@diwms
Feb 29 2016 15:20
@Big-Shark не понимаю как оно будет потом. что мне оно дает? ведь я буду сейвать как одну ентітю
Dinar Garipov
@garf
Feb 29 2016 15:20
@fearrr Ну ты посмотри, где у тебя код повторяется больше одного раза. И это отдели в метод.
Pavel Kuzmin
@s00d
Feb 29 2016 15:20

@fearrr для упрощения кода вот такие вещи

if ($ro->relate()->where('to_id', '=', $ka->id)->count() == 0 && $ro->relateIn()->where('from_id', '=', $ka->id)->count() == 0) {

можно выносить из условий

$toIdCount = $ro->relate()->where('to_id', '=', $ka->id)->count():
if ($toIdCount === 0 && $fromIdCount === 0) {

и так сразу понятнее становиться

Maxim
@Big-Shark
Feb 29 2016 15:20
@diwms если ты делаешь new Article то там сразу делается setType('article')
Myroslav Zozulia
@diwms
Feb 29 2016 15:21
@Big-Shark дай бог что бы оно захавало
Maxim
@Big-Shark
Feb 29 2016 15:21
@diwms если Quote, то наоборот, а если ты просто создал new Post то ты сам и должен поставить тип
Myroslav Zozulia
@diwms
Feb 29 2016 15:21
@Big-Shark наверное, нужно протестировать сперва подход на тестовом
Roman
@fearrr
Feb 29 2016 15:22
@s00d а i это вроде ссылки?
Pavel Kuzmin
@s00d
Feb 29 2016 15:23
@fearrr нет это я кривой))
Roman
@fearrr
Feb 29 2016 15:24
@s00d да эта конструкция поудобнее
Andrei Sosnov
@atehnix
Feb 29 2016 15:30
@fearrr вот тут очень много советов, которые в твоем случае могут помочь сильно упростить код: ссылка
Roman
@fearrr
Feb 29 2016 15:32
@atehnix спасибо почитаю
KarmaBot
@KarmaBot
Feb 29 2016 15:32

Любитель сладкого

@atehnix, вы выполнили условие: "Набрать 50 кармы.".
С чем и поздравляем =)
Любитель сладкого
Спасибо (+1) для @atehnix принято! Текущая карма +50.
Roman
@fearrr
Feb 29 2016 15:37
Спасибо @s00d, @gaaarfild
К советам по оптимизации прислушался, постараюсь исправиться,
Но интересно почему же все таки не работает конструкция с 23 по 40 строку?
KarmaBot
@KarmaBot
Feb 29 2016 15:37
Спасибо (+1) для @Virus191288 принято! Текущая карма +13.
Спасибо (+1) для @gaaarfild принято! Текущая карма +101.
Roman
@fearrr
Feb 29 2016 15:38
эм че за
@Virus191288 это кто вообще?
Dinar Garipov
@garf
Feb 29 2016 15:39
:D
Roman
@fearrr
Feb 29 2016 15:39
@s00d спасибо
Andrei Sosnov
@atehnix
Feb 29 2016 15:39
Гы)
KarmaBot
@KarmaBot
Feb 29 2016 15:39
Спасибо (+1) для @Virus191288 принято! Текущая карма +14.
Dinar Garipov
@garf
Feb 29 2016 15:39
O_o
Roman
@fearrr
Feb 29 2016 15:39
ээ
Andrei Sosnov
@atehnix
Feb 29 2016 15:39
ping @SerafimArts тут какая-то магия...)
Roman
@fearrr
Feb 29 2016 15:39
что за жадный вирус
Где я там всегда магия
Kirill Nesmeyanov
@SerafimArts
Feb 29 2016 15:40
что случилось? о_0
Kirill Nesmeyanov
@SerafimArts
Feb 29 2016 15:40
ну просто чел ник поменял
сам виноват
Roman
@fearrr
Feb 29 2016 15:41
@SerafimArts аа, бот не воспринимает новые ники?
Kirill Nesmeyanov
@SerafimArts
Feb 29 2016 15:41
ну он выводит тот, который у него сохранился
после пересчёта будет новый выводить
но старые спасибки уже не учтёт
Юрий
@sawerus
Feb 29 2016 15:43
@fearrr а ты говорил что дата обновляется, а профили нет ?
Pavel Kuzmin
@s00d
Feb 29 2016 15:47
норм)) мне по 2 раза спасибо говорят)) Спасибо бот!
Roman
@fearrr
Feb 29 2016 15:48
@sawerus да, так и есть
Pavel Kuzmin
@s00d
Feb 29 2016 15:49
@fearrr а зачем там вообще (int)? profiles2_id по названию итак интом должно быть
Юрий
@sawerus
Feb 29 2016 15:50

@fearrr поменяй ка вот это

$ka = Organisation::find($ka->id);
$ka->profiles2_id=$p2;
$ka->profiles_id=$p1;
$ka->save();

на

$test = Organisation::find($ka->id);
$test->profiles2_id=$p2;
$test->profiles_id=$p1;
$test->save();
Pavel Kuzmin
@s00d
Feb 29 2016 15:51
This message was deleted
This message was deleted
@fearrr Organisation::where('id',$ka->id)->update(['profiles2_id',=>$ka-> profiles_id, 'profiles_id',=>$ka-> profiles2_id]);
Вот это попробуй
Юрий
@sawerus
Feb 29 2016 15:56
@s00d пробовал, писал он выше ))
Pavel Kuzmin
@s00d
Feb 29 2016 15:56
@fearrr тогда или в модель и заполняй $fillable
Юрий
@sawerus
Feb 29 2016 15:57
@s00d тоже есть все ))
https://gist.github.com/fearrr/d11e68414e39906c1f3c
Pavel Kuzmin
@s00d
Feb 29 2016 15:59

@fearrr @sawerus

$ka = Organisation::find($ka->id);
dd($ka);

:D

Юрий
@sawerus
Feb 29 2016 16:01
@fearrr попробовал ?
Kirill Nesmeyanov
@SerafimArts
Feb 29 2016 16:02
@Virus191288 @s00d спасибо
KarmaBot
@KarmaBot
Feb 29 2016 16:02
Спасибо (+1) для @Virus191288 принято! Текущая карма +15.
Kirill Nesmeyanov
@SerafimArts
Feb 29 2016 16:02
нифига
+)
Pavel Kuzmin
@s00d
Feb 29 2016 16:02
@sawerus а смысл какой? если через update не работает, но проблема явно не в переменной. у меня всетаки подозрение на то, что в $ka->profiles2_id или $ka->profiles_id что-то не то
This message was deleted
@SerafimArts магия, спасибо за спасибо :smile:
@SerafimArts спасибо за спасибо :smile:
KarmaBot
@KarmaBot
Feb 29 2016 16:04
Спасибо (+1) для @SerafimArts принято! Текущая карма +279.
Юрий
@sawerus
Feb 29 2016 16:05
@s00d может и так.. тем более дата то обновляется в таблице. чет он куда-то потерялся ))
Pavel Kuzmin
@s00d
Feb 29 2016 16:06
@sawerus или вообще у него условия не отрабатывают. Я бы в 1 очередь вынес код смены profiles_id местами в модель и ее проверял, если все нормально, но можно уже к условиям переходил и их смотрел
Юрий
@sawerus
Feb 29 2016 16:08
@s00d мне вот совсем не нравиться перебор $ka и в переборе новый $ka...
Pavel Kuzmin
@s00d
Feb 29 2016 16:10

@fearrr кстати.
вот так:

if(Organisation::where('profiles2_id','=',$profile->id)->count()>0){
                        foreach(Organisation::where('profiles2_id','=',$profile->id)->get() as $ka){

вообще не делай. это тупо 2 обращения к бд, кода можно обойтись одним

$profilesResult = Organisation::where('profiles2_id','=',$profile->id)->get();
if($profilesResult->count() > 0)
      foreach($profilesResult as $ka){

кстати именно тут вижу что $ka вообще непонятно что обозначает. Называй нормально переменные.
и условие if($profilesResult->count() > 0) вообще по идее не нужно. foreach не должен по пустому объекру проходить

@sawerus тоже заметил, но проблем обычно не бывает, он же по новой присваивает значение
Pavel Kuzmin
@s00d
Feb 29 2016 16:18
@fearrr и еще почитай про whereIn код можно упростить в 10 раз и ошибки потом легче искать
Andrei Sosnov
@atehnix
Feb 29 2016 16:18
@fearrr хотя бы как-нить так упростить (хз, может даже работает :) )
foreach($this->getMro() as $ro){
    $ro = $this->updateRo($ro);

    foreach($profiles as $profile){
        if($ro->relate()->where('profiles_id','=',$profile->id)->count() > 0){
            continue;
        }    

        $orgs = Organisation::where('profiles2_id', '=', $profile->id)->get();

        foreach($orgs as $org){
            $org->profiles2_id = $org->profiles_id;
            $org->profiles_id  = $org->profiles2_id;
            $org->save();
        }
    }
}
Pavel Kuzmin
@s00d
Feb 29 2016 16:20
@atehnix он свалил))
Andrei Sosnov
@atehnix
Feb 29 2016 16:20
@fearrr так хотя бы немного понятнее читать код...
Shegl
@Shegl
Feb 29 2016 16:20
@atehnix лапша же
Andrei Sosnov
@atehnix
Feb 29 2016 16:21
@Shegl эт не мое.. ) это @fearrr. Но я попробовал хоть как-то по-короче сделать..)
@Shegl оригинал тут: https://gist.github.com/fearrr/7688e61721cc5c953b4a
Юрий
@sawerus
Feb 29 2016 16:22
@Shegl да, оригинал не видел по ходу ? ))
Shegl
@Shegl
Feb 29 2016 16:22
Ох ёлки зеленые
public function buildAddIn(){
Pavel Kuzmin
@s00d
Feb 29 2016 16:22
This message was deleted
KarmaBot
@KarmaBot
Feb 29 2016 16:22
@Virus191288, у нас тут принято писать кратко и по делу. А если нужно показать длинный код, то можно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Shegl
@Shegl
Feb 29 2016 16:23
я себя 4 года назад в коде узнаю
8 if / foreach в одной функции
"Незаменнимый кадр" этот программист будет
Alexander
@Dualse
Feb 29 2016 16:25
@Shegl Почему же? Все же с чего то начинают
Shegl
@Shegl
Feb 29 2016 16:25
ну так
я же выше написал
просто когда ПО сделанно вот таким программистом
его лучше не увольнять
Юрий
@sawerus
Feb 29 2016 16:26
дак может это плюс )))
Shegl
@Shegl
Feb 29 2016 16:26
и потом уже сам отрефакторит и научится верному
Artur Gafurov
@assurrussa
Feb 29 2016 16:26
@sawerus он через полгода когда вернется к этому методу долго будет думать что там)))
Shegl
@Shegl
Feb 29 2016 16:26
когда через неделю откроет, этот же самый код
и ничего не поймёт
Pavel Kuzmin
@s00d
Feb 29 2016 16:26
@atehnix map + whereIn это упросить, а у тебя таже фигня, только сбоку))
Alexander
@Dualse
Feb 29 2016 16:26
@Shegl Ну так когда только начинаешь, то обычно либо пилишь под себя, либо в подмастерье у кого-то
@Shegl Ну и третий вариант, когда "очень экономный" заказчик)
Tahtabaev Ildar
@Tahtabaev
Feb 29 2016 16:27
Человеки, есть клиент для Гиттер под андроид?
Shegl
@Shegl
Feb 29 2016 16:27
@Dualse бывают еще ведущие которые CodeReview не делают
@Dualse а просто юнит тесты прогоняют
asvae
@asvae
Feb 29 2016 16:27
@Tahtabaev да.
Pavel Kuzmin
@s00d
Feb 29 2016 16:27
@Shegl я такой код уже через час понимать перестану))
Andrei Sosnov
@atehnix
Feb 29 2016 16:27
@s00d я и не спорю. Но полноценно рефакторить чужой код мне лень было)
Pavel Kuzmin
@s00d
Feb 29 2016 16:28
@atehnix я тож начал и мне тоже лень стало))
Tahtabaev Ildar
@Tahtabaev
Feb 29 2016 16:28
Как называется
Dinar Garipov
@garf
Feb 29 2016 16:28
@s00d Не через час, а как только переключишься на другую его часть :)
@Tahtabaev gitter?
Alexander
@Dualse
Feb 29 2016 16:28
@Shegl Но это уже совсем другая история)
Shegl
@Shegl
Feb 29 2016 16:28
Придерживаюсь золотого правила, не более 3 строчек в функции
Andrei Sosnov
@atehnix
Feb 29 2016 16:29
@s00d а так, хотя бы подсказал человеку, что большинство if'ов у него в коде избыточные. Половину можно просто убрать не жалея, а другую половину инвертировать, чтобы вложенность не росла).
Shegl
@Shegl
Feb 29 2016 16:29
Если нужно больше, значит разделять и властвовать! ;D
Dinar Garipov
@garf
Feb 29 2016 16:29
@Shegl 3 строчке - не маловато ли?
@Shegl Правило обычно чтобы метод помещался на экран.
Artur Gafurov
@assurrussa
Feb 29 2016 16:29
@Shegl :smile: жестко)
Shegl
@Shegl
Feb 29 2016 16:29
@gaaarfild ну всегда бывают исключения
@gaaarfild return не строчка например foreach тоже
asvae
@asvae
Feb 29 2016 16:29

Еще один небольшой вопросец по вебсокетам:
Насколько они затратны в плане ресурсов? Интересуют:
1) Траффик.
2) Максимальное количество открытых соединений.
3) Память.

Заранее спасибо за ответы.

Pavel Kuzmin
@s00d
Feb 29 2016 16:30
@Shegl куча функций тоже не всегда упрощают код, везде нужно знать меру))
Dinar Garipov
@garf
Feb 29 2016 16:30
@Tahtabaev https://play.google.com/store/apps/details?id=im.gitter.gitter&hl=en_GB
Shegl
@Shegl
Feb 29 2016 16:30
@s00d согласен, но попробуйте написать по этому правилу следующий класс
@s00d if/foreach/switch не считаются за строчки, конструкция вида switch case тоже не считается соотвественно
@s00d сразу же ваши контроллеры станут гладкими и шелковистыми
Pavel Kuzmin
@s00d
Feb 29 2016 16:32
@Shegl я могу растянуть код так, что у меня будет 10000 строчек)) Но вообще у меня редко функция бывает больше 6 строк(вместе с условиями и ретурнами) я заранее обычно продумываю как код будет работать, а уже потом пишу
Alexander
@Dualse
Feb 29 2016 16:32
@Shegl Так речь о методе в контроллере, а не вообще о методе?
Shegl
@Shegl
Feb 29 2016 16:32
@Dualse ну да, контроллер вообще должен быть очень маленьким
@Dualse всю БЛ из контроллера прочь!
@Dualse мы же 273 строчный контроллер обсуждали с 8 вложенностями лапши
Pavel Kuzmin
@s00d
Feb 29 2016 16:34
@Shegl я даже не посмотрел что это контролер)) мда. Нужно с 0 все рефакторить и не париться. Ценность такого кода 0
Dinar Garipov
@garf
Feb 29 2016 16:35
Вообще не стоит ценить свой код.
Shegl
@Shegl
Feb 29 2016 16:35
ну
Dinar Garipov
@garf
Feb 29 2016 16:35
Всегда надо быть готовым взять его, выбросить и написать с нуля.
Pavel Kuzmin
@s00d
Feb 29 2016 16:35
@Shegl это как я переписал функцию которая грузилась 20 минут и превратил ее из 200 запросов с вложенными запросами в цикле в 1 запрос и до сих пор не могу понят кому пришло в голову писать такой код...
Dinar Garipov
@garf
Feb 29 2016 16:35
Тогда он с каждым разом будет все лучше и лучше, потому что будет учитывать новые реалии
Shegl
@Shegl
Feb 29 2016 16:36
@gaaarfild у каждого программиста на рабочем столе, есть папочка, где у программиста лежат файлы, с классами которые они считают совершенными (или на гитхабе)
Pavel Kuzmin
@s00d
Feb 29 2016 16:36
@gaaarfild согласен полностью, обычно так и делаю)) и каждый раз возвращаясь к старому коду нахожу места где его можно улучшить или вообще переделать
Shegl
@Shegl
Feb 29 2016 16:36
@gaaarfild например, на собеседовании показать
Dinar Garipov
@garf
Feb 29 2016 16:36
@Shegl Потому что они не меняются :) Это типа работает не трогай. А когда нужно постоянно менять, и это становится болью - то значит пора :)
Pavel Kuzmin
@s00d
Feb 29 2016 16:36
@Shegl я все поудалял)) Потом сам открываешь и понимаешь что все это устарело
хотя 5гб исходников с играми все еще храню. Те математические функции врятли смогу улучшить))
Shegl
@Shegl
Feb 29 2016 16:37
Ну у меня в такой папочке лежит 3D игра на движке Away3d (Флеш 3д клиент для игры Ultima Online полностью поддерживающий протокол ультимы и подходящий на UO:Reborn)
вот только флеш умер :D
Юрий
@sawerus
Feb 29 2016 16:38
скилл растет, опыт растет, все обновляется, видение кода меняется... конечно будет переписываться
у меня пару проектов написано без единого класс.... стыдно признаться... но было и такое ))
Shegl
@Shegl
Feb 29 2016 16:38
Низачто не удалю
Впрочем игра тоже умерла, 2 года парни, 2 года писал
пока писал стив джобс убил флеш, а время убило игру и её фанбазу
такие дела
:cry: всплакнул
Pavel Kuzmin
@s00d
Feb 29 2016 16:39
@sawerus только сегодня заходил чел и спрашивал зачем лара на сайте, когда можно было htmlом в блокноте все сделать)))
Roman
@fearrr
Feb 29 2016 16:39
@Shegl я только учусь )
Pavel Kuzmin
@s00d
Feb 29 2016 16:40
@fearrr или выучи Collections map и whereIn)) Сразу можно код в раза 2 уменьшить и упростить))
Dinar Garipov
@garf
Feb 29 2016 16:40
@sawerus А чего стыдиться? Никто сразу не становится сениором.
Artur Gafurov
@assurrussa
Feb 29 2016 16:40
@gaaarfild +
Shegl
@Shegl
Feb 29 2016 16:41
@s00d эх нет, я бы твою вакансию зарубил бы
Andrei Sosnov
@atehnix
Feb 29 2016 16:41
@sawerus функциональщики вон пишут проекты без единого класса и ничего, не стыдятся.. :)
Pavel Kuzmin
@s00d
Feb 29 2016 16:41
@Shegl я в немного другой области работал. У меня куча математики было, сейчас вообще не понимаю как все это работало. Слишком сложно стало и решил забить на игры. В них дизайнером быть проще
Roman
@fearrr
Feb 29 2016 16:41
@s00d я пробовал map и each, но почему-то пришлось отказаться. А whereIn как может помочь тут?
Pavel Kuzmin
@s00d
Feb 29 2016 16:42
@Shegl я на php программирую 2 месяца, чего ты еще ждешь?))
Shegl
@Shegl
Feb 29 2016 16:42
@s00d ты должен был сказать не HTML а на вебките, или на гульпе, чисто фронтендик, и незабыть выпить еще Смузи на глазах у работадателя, тогда б точно зауважали =)
Dinar Garipov
@garf
Feb 29 2016 16:42
@atehnix Ну потому что на самом деле функциональное программирование - крутая штука. Но только там, где она нужна.
Roman
@fearrr
Feb 29 2016 16:43
@s00d через map там будут одни use
Dinar Garipov
@garf
Feb 29 2016 16:43
@Shegl Без смузи никак. :)
Pavel Kuzmin
@s00d
Feb 29 2016 16:43
@fearrr whereIn поможет тебе обновлять не в цикле с 1000 запросами, а в 1 запрос с нормальными условиями. Собрать через map все необходимые profile_id и после этого 1 запросом через whereIn все обновить
@fearrr и циклы вообще не нужны будут
а хотя они у тебя отличаются же. не сработает((
Andrei Sosnov
@atehnix
Feb 29 2016 16:46
@gaaarfild ну эт понятно) Я ж с иронией)
Pavel Kuzmin
@s00d
Feb 29 2016 16:46
@Shegl пойду смузями затариться. Это мне явно поможет))
Юрий
@sawerus
Feb 29 2016 16:46
блин шаблонизатор писал как то для себя.... мда сейчас решил старый код глянуть... валяется на компе это трындец....
так поржать )))
http://laravel.io/bin/NkMdm
это всего лишь начало ))) ну дальше я думаю понятно ..... ))
Roman
@fearrr
Feb 29 2016 16:47
тут так по идее надо бы вообще все переделать заново с наставником, только вот наставника я себе найти не могу)
Pavel Kuzmin
@s00d
Feb 29 2016 16:47
@fearrr в обще на каждой строке делай dd и найдешь где ошибка
Юрий
@sawerus
Feb 29 2016 16:48
@fearrr я нашел... и это да, решает реально... Очень Благодарен человеку!
Roman
@fearrr
Feb 29 2016 16:48
@s00d ну я пользуюсь, dd и laravel debug, правда второй от запросов начал вешать браузер
Pavel Kuzmin
@s00d
Feb 29 2016 16:48
@sawerus что употреблял? когда это писал?))
Юрий
@sawerus
Feb 29 2016 16:48
@s00d уу )))
что самое интересное проект работает до сих пор... ))) и деньги дает.. но в него не лезу вообще, так как боюсь сломать что нить )))
Pavel Kuzmin
@s00d
Feb 29 2016 16:49
@fearrr ну и смотри что у тебя там не работает. В 1 очередь (int) точно не нужен. Ты эти данные только получил и ничего с ними не делал
@sawerus перепиши с нуля)) Я помню свой старый проект открыл через пару лет. Писла 2 месяца... Повторно написал за 2 дня))
@sawerus кажи тому, кто тебя учил спасибо. Мне приходиться с головой в доках сидеть))
Roman
@fearrr
Feb 29 2016 16:51
@s00d самое интересное если обновить только 1 профиль все работает
Юрий
@sawerus
Feb 29 2016 16:51
@s00d там тема хоть и денежная но... ну очень не хочу я в нее лезть... да и тема отработала свое, там копейки сейчас... раньше капало до 70к в месяц
купонник был
Pavel Kuzmin
@s00d
Feb 29 2016 16:51
@sawerus выпустишь 2 версию, опять продашь))
Юрий
@sawerus
Feb 29 2016 16:52
это для себя, не на продажу
Pavel Kuzmin
@s00d
Feb 29 2016 16:52

@fearrr

@fearrr кстати.
вот так:

if(Organisation::where('profiles2_id','=',$profile->id)->count()>0){
                        foreach(Organisation::where('profiles2_id','=',$profile->id)->get() as $ka){

вообще не делай. это тупо 2 обращения к бд, кода можно обойтись одним

$profilesResult = Organisation::where('profiles2_id','=',$profile->id)->get();
if($profilesResult->count() > 0)
      foreach($profilesResult as $ka){

кстати именно тут вижу что $ka вообще непонятно что обозначает. Называй нормально переменные.
и условие if($profilesResult->count() > 0) вообще по идее не нужно. foreach не должен по пустому объекру проходить

Dinar Garipov
@garf
Feb 29 2016 16:52
@fearrr xdebug еще неплохо помогает дебажить такие конские методы. Ты хоть на каждом шаге сразу видишь, что где лежит. Но один минус у него при работе с ларавель он выдает иногда ошибку количества вложенностей.
jongleb
@jongleb
Feb 29 2016 16:52
Привет как делать выборки со связми если таблица вообще не содержит pk
Pavel Kuzmin
@s00d
Feb 29 2016 16:53
@fearrr в 1 очередь это попробуй переделать, но лучше перепиши
Andrei Sosnov
@atehnix
Feb 29 2016 16:53
@fearrr не пробовал подставить тот кусок, который я скинул? Просто интересно, вдруг работает)
jongleb
@jongleb
Feb 29 2016 16:54
только два some_entity1_id и some_entuty2_id
Pavel Kuzmin
@s00d
Feb 29 2016 16:54
@jongleb добавить?)) без pk это самоубийство для базы. Лишняя нагрузка не понятно зачем
Roman
@fearrr
Feb 29 2016 16:54
@s00d это сейчас сделаю
Юрий
@sawerus
Feb 29 2016 16:55
что есть pk ?
Andrei Sosnov
@atehnix
Feb 29 2016 16:55
@s00d в том куске что ты скинул if - лишний. Можно убрать и ничего не изменится.
Pavel Kuzmin
@s00d
Feb 29 2016 16:55
@sawerus первичный ключ. id
@atehnix я об этом написал
Andrei Sosnov
@atehnix
Feb 29 2016 16:55
@s00d а, ну да. сори, не заметил.
Roman
@fearrr
Feb 29 2016 16:57
@atehnix сейчас попробую))
Юрий
@sawerus
Feb 29 2016 16:57
@fearrr И?
Аллилуйя? ))
Roman
@fearrr
Feb 29 2016 16:58
@sawerus pk?
Юрий
@sawerus
Feb 29 2016 16:58
@fearrr )))
Pavel Kuzmin
@s00d
Feb 29 2016 16:58

@fearrr

@sawerus первичный ключ. id

Юрий
@sawerus
Feb 29 2016 16:59
@fearrr я @s00d -у писал
Roman
@fearrr
Feb 29 2016 17:05
@atehnix твой код только один профиль изменяет
Andrei Sosnov
@atehnix
Feb 29 2016 17:05

@fearrr т.е. работает так же?

самое интересное если обновить только 1 профиль все работает

Pavel Kuzmin
@s00d
Feb 29 2016 17:06
@fearrr посмотри что в $profiles
значит ошибка гдето в логике
Roman
@fearrr
Feb 29 2016 17:07
@atehnix по сути да
Andrei Sosnov
@atehnix
Feb 29 2016 17:07
@fearrr ну, уже хорошо) В коде стало на 2 уровня вложенности меньше, и при этом ничего не сломалось. Какой-никакой, а рефакторинг! :)
Roman
@fearrr
Feb 29 2016 17:08
@s00d коллекция
Pavel Kuzmin
@s00d
Feb 29 2016 17:08
@fearrr значения какие. Что коллекция это понятно
@fearrr и еще в $ro что смотри. Гдето там ошибка.
@fearrr dd($ro) и потом dd($profiles) а дальше уже понятно бубудет где ошибка
jongleb
@jongleb
Feb 29 2016 17:10

Подскажите.
Есть таблица
news c полями id, title
tags id, name
и таблица связей tags_news_link
news_id
tags_id, в которой Pk состоит из 2 полей (news_id и tags_id)

как описать в модели tags_news_link этот PK и как извлечь все теги от новости с конерктным id, используя HasManyThrough

Юрий
@sawerus
Feb 29 2016 17:17
@jongleb я конечно часто туплю но Has Many Through по-моему для 3 таблиц
jongleb
@jongleb
Feb 29 2016 17:17
да там так
Roman
@fearrr
Feb 29 2016 17:18
This message was deleted
This message was deleted
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:19
This message was deleted
Roman
@fearrr
Feb 29 2016 17:19
а нет
Pavel Kuzmin
@s00d
Feb 29 2016 17:19
@fearrr не правда
public function getMro(){
        return Organisation::where('fake','!=',true)->get();
    }
Artur Gafurov
@assurrussa
Feb 29 2016 17:20
@jongleb тебе подойдет связь many to many
Roman
@fearrr
Feb 29 2016 17:20
@s00d блин не туда посмотрел, это в mro записи
@s00d Mro это множество Ro
@s00d Ro так получается
public function updateRo($ro){
        return Organisation::where('id', '=', $ro->id)->first(); 
    }
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:22

@jongleb

$products = News::whereHas('tags', function (Builder $query)  {
return $query->where('id', 5);
})->get()

Вроде как то так

Pavel Kuzmin
@s00d
Feb 29 2016 17:22

@fearrr

    public function getMro(){
        return Organisation::where('fake','!=',true)->get();
    }
    public function updateRo($ro){
        return Organisation::where('id', '=', $ro->id)->first();
   }
        foreach($this->getMro() as $ro){
            $ro = $this->updateRo($ro);

скажи мне зачем этот изврат? Ты получаешь тожесамое значение

Dinar Garipov
@garf
Feb 29 2016 17:23
@fearrr Не поленись. Сядь в один день и перепиши этот код. И ты будешь немного счастливее. Обещаю!
Artur Gafurov
@assurrussa
Feb 29 2016 17:24
@vlsoprun почему просто не использовать связи и он сам будет доставать что нужно, в зависимости от того какая новость пришла?
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:24
@assurrussa aааа.... хз... :smile:
Roman
@fearrr
Feb 29 2016 17:24
@s00d мне нужны актуальные данные так как каждый форич меняет связи, и отношения этих Ro могут меняться что очень важно
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:24
@assurrussa по мне так many to many тоже кажется норм вариантом
Roman
@fearrr
Feb 29 2016 17:25
@gaaarfild думал об этом уже не раз)
Artur Gafurov
@assurrussa
Feb 29 2016 17:25
@vlsoprun ну так он её и описал просто)
если его правильно понял)
Roman
@fearrr
Feb 29 2016 17:26
@s00d так-то хоть и изврат это, оно работает, мне сейчас бы прототип рабочий доделать, потом рефакторить, работают все конструкции, кроме смены местами профилей в 23 по 40 строки)
Он тупо не апдейтит БД
jongleb
@jongleb
Feb 29 2016 17:27
@assurrussa @vlsoprun спасибо
KarmaBot
@KarmaBot
Feb 29 2016 17:27
Спасибо (+1) для @assurrussa принято! Текущая карма +49.
Спасибо (+1) для @vlsoprun принято! Текущая карма +95.
jongleb
@jongleb
Feb 29 2016 17:27
и можно еще вопрос
есть дефолт protected $primaryKey = 'id';
как указать там комплексный PK, если схема таблицы содержит PK из двух полей
Dinar Garipov
@garf
Feb 29 2016 17:27
@fearrr Он к тому, что там ничего не апдейтится. Ты достаешь набор этих Ро. И потом их перебирая зачем то еще по разу достаешь их, хотя они и так уже вот при каждой итерации у тебя есть.
Pavel Kuzmin
@s00d
Feb 29 2016 17:28
@fearrr они у тебя в цикле запрашиваются. цикл при каждом проходе их обновляет сам
Roman
@fearrr
Feb 29 2016 17:31
@s00d @gaaarfild, цикл разве обращается к БД каждый раз?
Pavel Kuzmin
@s00d
Feb 29 2016 17:31
@fearrr да
Roman
@fearrr
Feb 29 2016 17:32
ну ладно допустим это уберем, все ровно не работает
Меньше запросов, но не работает
Юрий
@sawerus
Feb 29 2016 17:33
@fearrr )) предположение... у тебя в базе нету там каких нибудь атрибутов при обновлении таблицы ??
Dinar Garipov
@garf
Feb 29 2016 17:34
@fearrr Вот это внимательно посмотри:
foreach($this->getMro() as $ro){
            $ro = $this->updateRo($ro);
}
И вспомни, что метод updateRo у тебя просто достает запись по записи.
Roman
@fearrr
Feb 29 2016 17:35
@gaaarfild это я убрал, осталось так
foreach($this->getMro() as $ro){
}
Dinar Garipov
@garf
Feb 29 2016 17:35
Что вообще черт возьми это за метод?
 public function updateRo($ro){
        return Organisation::where('id', '=', $ro->id)->first();
   }
Просто чтобы сделать еще одно обращение к БД?
Pavel Kuzmin
@s00d
Feb 29 2016 17:35
@fearrr сразу дальше $ro->relate()->where('profiles_id','=',$profile->id)->count()<1 зачем тебе вообще идти через 3 таблицу? почему нельзя сразу обратиться к базе Profile::where('profiles_id','=',$profile->id)->count();?
@gaaarfild он думал что в цикле данные не обновляются и сделал метод для их обновления)) У меня вообще по каждой строчке вопросы))
Roman
@fearrr
Feb 29 2016 17:36
@s00d потому что мне нужно именно у этого элемента узнать количество отношений по профилю
Dinar Garipov
@garf
Feb 29 2016 17:37
@fearrr Почитай про Model::with()
Andrei Sosnov
@atehnix
Feb 29 2016 17:37
@gaaarfild об этом ты уже спрашивал :point_up: 3 часа назад :)
Dinar Garipov
@garf
Feb 29 2016 17:37
@fearrr Это очень удобно. И работай с коллекциями а не с БД каждый раз.
Pavel Kuzmin
@s00d
Feb 29 2016 17:37
@fearrr ну так и поставь еще 1 условие во where
Dinar Garipov
@garf
Feb 29 2016 17:37
@atehnix Но я спрашивал про другое ))
Roman
@fearrr
Feb 29 2016 17:37
@gaaarfild я работаю со связями
Dinar Garipov
@garf
Feb 29 2016 17:38
@fearrr Это и есть связи
Roman
@fearrr
Feb 29 2016 17:38
@gaaarfild каждый метод меняет пивот..
@gaaarfild как это можно в коллекции сделать?
Pavel Kuzmin
@s00d
Feb 29 2016 17:38
@fearrr у тебя уже есть все профили, тебе нужно только их правильно отсортировать через условия. ты их вот получил $profiles = Profile::get(); и работай с ними, зачем еще раз в базу лезть и еще через 3 таблицу?
Владимир
@WaterSpout
Feb 29 2016 17:39
Привет, народ. Подскажите плз, делаю так $model->paginate(15, ['*'], 'other_page')->setPageName('other_page'), при рендере название переменной меняется на other_page, но когда перехожу на страницы, пагинация никак не реагирует. Мб кто сталкивался уже?
Roman
@fearrr
Feb 29 2016 17:39
@gaaarfild я сначала пошел по пути собрать коллекцию, но когда мне навешали дополнительную тучу проверок я повяз в нем
Pavel Kuzmin
@s00d
Feb 29 2016 17:45

@fearrr

foreach($this->getMro() as $ro){
    foreach($profiles as $profile){
// тут проверь не перепутал  ли я местами to_id и from_id. не помню как оно работает
        if($profiles->where('to_id', $ro->from_id)->where('profiles_id','=',$profile->id)->count() > 0)
            continue;

        $orgs = Organisation::where('profiles2_id', '=', $profile->id)->get();
        Organisation::where('profiles2_id', '=', $profile->id)->update('profiles2_id'=>profiles_id, 'profiles_id' =>profiles2_id)

    }
}

попробуй для начала так
если будет работать так-же значит ошибка в if($profiles->where('to_id', $ro->from_id)->where('profiles_id','=',$profile->id)->count() > 0)и туда приходит каждый раз больше 0 значений

Soprun Vladislav
@vlsoprun
Feb 29 2016 17:46
@WaterSpout А зачем setPageName('other_page') ?
Юрий
@sawerus
Feb 29 2016 17:49
@vlsoprun @WaterSpout я вот смотрю и не вижу откуда вообще 2 и третий параметр в paginate???
Владимир
@WaterSpout
Feb 29 2016 17:49
@vlsoprun Ага, лишнее. Ну это я уже эксперементировал. Сути не меняет — название меняется, но сама пагинация не реагирует.
Юрий
@sawerus
Feb 29 2016 17:49
дайте ссылочку почитать
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:50
@WaterSpout Давай так... Как ты хочешь что бы она изменилась? page - в гет запросе?
@sawerus Illuminate\Pagination\AbstractPaginator
Владимир
@WaterSpout
Feb 29 2016 17:51
@sawerus почитать
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:51
@WaterSpout поставь с начало setPageName(...) а потом вызывай paginate(...)
Владимир
@WaterSpout
Feb 29 2016 17:53
@vlsoprun хмм, я ставил перед, но тут oops Call to undefined method Illuminate\Database\Query\Builder::setPageName()
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:54
Ой фак...
$pages = $model->paginate(15, ['*'], 'other_page');
$pages ->setPageName('other_page');
Вот так нужно
Юрий
@sawerus
Feb 29 2016 17:55
@WaterSpout @vlsoprun спасибо
KarmaBot
@KarmaBot
Feb 29 2016 17:55
Спасибо (+1) для @WaterSpout принято! Текущая карма +3.
Спасибо (+1) для @vlsoprun принято! Текущая карма +96.
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:55
сори за дезинформацию
@WaterSpout Хотя по идеи достаточность и paginate(15, ['*'], 'other_page');
Владимир
@WaterSpout
Feb 29 2016 17:58
@vlsoprun ну да, я выше написал, что так и сделал $model->paginate(15, ['*'], 'other_page')->setPageName('other_page'), не работает =(
Soprun Vladislav
@vlsoprun
Feb 29 2016 17:58
@WaterSpout нет.. просто $model->paginate(15, ['*'], 'other_page') - работает :smile:
Maxim Zavitaev
@MaximZavitaev
Feb 29 2016 18:01
Всем привет. Какой фейкер лучше использовать для Laravel?
KarmaBot
@KarmaBot
Feb 29 2016 18:01
@MaximZavitaev, и тебе привет ;)
Владимир
@WaterSpout
Feb 29 2016 18:01
@vlsoprun что-то пошло не так =), ни так ни так не робит =).
Roman
@fearrr
Feb 29 2016 18:01
@s00d у $ro нет поля from_id, это только в pivot-таблице
Владимир
@WaterSpout
Feb 29 2016 18:02
@vlsoprun версия 5.1, или у вас все ок?
Maxim
@Big-Shark
Feb 29 2016 18:02
@MaximZavitaev какой еще фейкер?
@MaximZavitaev https://github.com/fzaninotto/Faker это?
Maxim Zavitaev
@MaximZavitaev
Feb 29 2016 18:03
@Big-Shark библиотеку для генерации фейковых данных.
Maxim
@Big-Shark
Feb 29 2016 18:03
Maxim Zavitaev
@MaximZavitaev
Feb 29 2016 18:04
@Big-Shark да, как раз на нее смотрю. Просто хотел уточнить, мало ли есть какое-то решение специально для Laravel
Pavel Kuzmin
@s00d
Feb 29 2016 18:05
@fearrr так добавь его туда в селекте, в чем проблема?
Soprun Vladislav
@vlsoprun
Feb 29 2016 18:05
@WaterSpout тестировал на 5,2 все норм, да ранее подобной проблемы не помню
Andrei Sosnov
@atehnix
Feb 29 2016 18:07
@MaximZavitaev "fzaninotto/faker" и так уже включен в Laravel из коробки. Как тут сделать еще "специальнее"? :)
Maxim Zavitaev
@MaximZavitaev
Feb 29 2016 18:08
@atehnix не в курсе потому и спросил.
Pavel Kuzmin
@s00d
Feb 29 2016 18:09
This message was deleted
Andrei Sosnov
@atehnix
Feb 29 2016 18:10
@MaximZavitaev об этом написано в доке
Maxim Zavitaev
@MaximZavitaev
Feb 29 2016 18:11
@atehnix то есть его с помощью composer доставлять не требуется?
Andrei Sosnov
@atehnix
Feb 29 2016 18:12
@MaximZavitaev нет. Он уже там.
Maxim Zavitaev
@MaximZavitaev
Feb 29 2016 18:13
@atehnix все, вижу его в require-dev
Владимир
@WaterSpout
Feb 29 2016 18:15
@vlsoprun Чот и на 5.2 попробовал, вообще никак(. А вот так работает $model->paginate(15, ['*'], 'other_page', \Request::get('other_page', 1)), а вот без явного указания почему не отрабатывает, засада.
Soprun Vladislav
@vlsoprun
Feb 29 2016 18:17
@WaterSpout ух... что то не то...
https://files.gitter.im/LaravelRUS/chat/QaUT/blob
Pavel Kuzmin
@s00d
Feb 29 2016 18:18
@WaterSpout какой вообще смысл творить такое изобретение? Может я что не знаю, но это какаято фигня
Владимир
@WaterSpout
Feb 29 2016 18:19
@s00d Если на одной странице две пагинации, например. И чисто научный интерес =).
Myroslav Zozulia
@diwms
Feb 29 2016 18:19
@Big-Shark или лыжи не едут или в пропеле бага и этот concrete_inheritance не работает :(
Pavel Kuzmin
@s00d
Feb 29 2016 18:20

@WaterSpout и

$this->data['pg1'] = $model->paginate(15); 
$this->data['pg2'] = $model->paginate(15);

и передаешь $this->data
во вьюхе юзаешь $pg1 и $pg2

Maxim
@Big-Shark
Feb 29 2016 18:20
@diwms у меня работал, ноя не знаю как ты его готовишь, ис ока иду спать
Myroslav Zozulia
@diwms
Feb 29 2016 18:20
@Big-Shark пробую пробу и все никак... Думаю чет я не то делаю.. Потом взял пример из документации и он падает!
Владимир
@WaterSpout
Feb 29 2016 18:22
@s00d а если $pg1?page =2 а $pg2?page =4 =)
@vlsoprun во во, я тоже делаю дамп и у меня все такое же =))
Pavel Kuzmin
@s00d
Feb 29 2016 18:23
@WaterSpout url?pg1=2&pg2=4
вообще не понял в чем проблема...
хотя я пагинацию делаю обычно на js. может в ларе что-то не так работает))

а все понял. оно так не работает))))

Controller

Paginator::setPageName('page_a');
$collection_A = ModelA::paginate(10);
Paginator::setPageName('page_b');
$collection_B = ModelB::paginate(10);

View
Do the same: change the page name before you print the links

Paginator::setPageName('page_a');
$collection_A->links();
Paginator::setPageName('page_b');
$collection_B->links();

If you don't want to lose any page state while you navigate to another page, append to the links the current page from all collections:

Paginator::setPageName('page_a');
$collection_A->appends('page_b', Input::get('page_b',1))->links();
Paginator::setPageName('page_b');