These are chat archives for LaravelRUS/chat

2nd
Mar 2016
D3-FC
@D3-FC
Mar 02 2016 06:06 UTC
This message was deleted
KarmaBot
@KarmaBot
Mar 02 2016 06:06 UTC
@D3-FC, здравствуй.
D3-FC
@D3-FC
Mar 02 2016 06:09 UTC

Привет всем. Вопрос касательно архитектуры. Интересно ваше мнение.

Какой вариант из нижеприведённых лучше с точки зрения построения большого приложения.

Условие.
Есть некий компонент (виджет) на стороне фронта который применяется во многих страницах.
Естественно его нужно обрабатывать на стороне бэкенда, для этого был создан некий service myWidgetGenerator
который занимается построением ответа для этого виджета.

И вот подходимк моменту когда на каждом контроллере нужно для разных моделей передавать этому генератору различные параметры в итоге контроллер разрастается вот к такому виду.

Вариант Номер 1
http://laravel.io/bin/yGm63
Второй вариант запихать генеротор в сервис провайдер и тогда сервисный класс будет состоять из двух классов:
непосредственно сам Generator и GeneratorRepository

где GeneratorRepository - Набор свойств и конструктор

а Generator - набор методов с параметрами для построения виджета для разных моделей:
http://laravel.io/bin/52DN8
И сам контроллер тогда принимает вот такой вид:
http://laravel.io/bin/kW5aP

KarmaBot
@KarmaBot
Mar 02 2016 06:09 UTC
@D3-FC, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Staruy
@Staruy
Mar 02 2016 06:18 UTC
По моему скромному и не професиональному взгляду, дучше меньше кода в контроллерах. Я так
Alex
@ZAZmaster
Mar 02 2016 06:19 UTC
Доброго дня все. Подскажите где почитать про правила именования таблиц post posts и моделей. Помню гдето находил про множественное число и единственное число.. но щас не могу найти
D3-FC
@D3-FC
Mar 02 2016 06:20 UTC
@Staruy То есть вы за второй вариант?
slider23
@slider23
Mar 02 2016 06:21 UTC
Да по-моему и первый вариант не страшный
Staruy
@Staruy
Mar 02 2016 06:22 UTC
@D3-FC да, возможно есть более удачная реализация, но второй лучше первого имхо
slider23
@slider23
Mar 02 2016 06:23 UTC
Пиши как удобнее самому. Мне кажется, второй вариант избыточен, так как код просто копируется в другое место, его меньше не становится. Ты renderProviderBlanks() где-нибудь кроме одного метода контроллера будешь использовать ? Если нет - первый вариант.
D3-FC
@D3-FC
Mar 02 2016 06:25 UTC

@slider23
Нет больше одного раза не буду.
Например у второго варианта есть плюсы:
Если когда-нибудь решу передалать что-нибудь в этом генераторе,
Не придётся бегать по всем контроллерам и менять.

Достаточно будет открыть один файлик Generator
И унего изменить все методы
renderProviderBlanks() renderSomethingElse....

slider23
@slider23
Mar 02 2016 06:25 UTC
Ну тогда второй вариант )
D3-FC
@D3-FC
Mar 02 2016 06:28 UTC
:D

Зато у первого удобней навигация.
Сразу наглядно что куда передаётся,
Ctrl+click перелетаешь в файлик с реализацией метода render()
и всё видишь.

Во втором же варианте придётся
Залазить в AppServiceProvider
там лезть в генератор, потом смотреть от кого он унаследован и потом уже увидешь реализацию render()

вот в этом то и заключается дилема
и там и там и плюсы и минусы
Alex
@ZAZmaster
Mar 02 2016 06:30 UTC
@D3-FC спасибо! пропустил в этом разделе видимо )
KarmaBot
@KarmaBot
Mar 02 2016 06:30 UTC
Спасибо (+1) для @D3-FC принято! Текущая карма +3.
Alex
@ZAZmaster
Mar 02 2016 06:32 UTC
Ещё повторю вчерашний вопрос: нужно сделать 7 справочников (структура их одинакова - id, name, sort) есть записи о персоне и эти справочники подтягиваются Foreign ключами. Неужели под каждый справочник нужно будет делать модель и прописывать в каждой hasMany? Или может есть более изящный способ?
D3-FC
@D3-FC
Mar 02 2016 06:33 UTC
@ZAZmaster очень туманное описание задачи
Модели - это зеркала таблиц
Если у тебя 7 разных таблиц, тогда и моделей 7 будет
Это принцип работы с ОРМ
Другой вопрос. зачем тебе 7 разных таблиц с одинаковой структоурой
Поидее должна быть одна таблица справочники
таблица персоны
и уже с между ними родственные связи
если тебе разного рода справочники нужны то можно добавить четвёртый параметр type
для этого есть родственные связи типо морф
Alex
@ZAZmaster
Mar 02 2016 06:37 UTC
@D3-FC всё это досталось от старой базы, щас переделываем. А как потом использовать этот один справочник правильно?
аааа морфингом, нада попробовать
Alex
@ZAZmaster
Mar 02 2016 06:41 UTC
polymorphic-relations ?
просто в примерах такого не вижу там
и как наименование таблицы сделать чтобы в множественном числе было "справочники" - directories а модель будет тогда Directory?
D3-FC
@D3-FC
Mar 02 2016 06:43 UTC
да
таблица всегда во множетвенном числе
модель всегда в единственном
posts
    id - integer
    title - string
    body - text

comments
    id - integer
    post_id - integer
    body - text

likes
    id - integer
    likeable_id - integer
    likeable_type - string
вот там такой пример есть
likes это твои справочники
или вот ещё. найди заголовок
Many To Many Polymorphic Relations
Alex
@ZAZmaster
Mar 02 2016 06:44 UTC
посты - это персоны, лайки - справочники, а каменты тогда что?
D3-FC
@D3-FC
Mar 02 2016 06:45 UTC
posts
    id - integer
    name - string

videos
    id - integer
    name - string

tags
    id - integer
    name - string

taggables
    tag_id - integer
    taggable_id - integer
    taggable_type - string
Alex
@ZAZmaster
Mar 02 2016 06:45 UTC
у меня же выходит 2 таблицы, персоны и справочник
D3-FC
@D3-FC
Mar 02 2016 06:45 UTC
в данном случае tags это твои справочники
taggables это пивот
таблица
у тебя сос правочником у персоны какая связь?
многие ко многим или один ко многим?
у персоны может быть только один справочник или много справочников?
Alex
@ZAZmaster
Mar 02 2016 06:46 UTC
справочник - один ко многим в персонах
D3-FC
@D3-FC
Mar 02 2016 06:47 UTC
тоесть каждая персона принадлежит одному справочнику?
тогда первый вариант
Alex
@ZAZmaster
Mar 02 2016 06:47 UTC
у персоны 7 справочников, тоесть например: город, организация, образование итд. эти данные у персоны беруться со справочника
D3-FC
@D3-FC
Mar 02 2016 06:47 UTC
а зачем в справочниках их держать?
почему сразу персоне в колонки не задать?
Alex
@ZAZmaster
Mar 02 2016 06:48 UTC
потому что образование "среднее", "высшее" итд - это страндартная вещь. и так была сделана старая база (на фокс про и до сих пор на 95 винде крутится)
это по idef1x, одинаковые данные выводят в справочники.
D3-FC
@D3-FC
Mar 02 2016 06:50 UTC
ну тогда для тебя первый вариант
likes это справочники
а posts это персоны
Alex
@ZAZmaster
Mar 02 2016 06:51 UTC
а comments? )))
D3-FC
@D3-FC
Mar 02 2016 06:51 UTC
а это тебе не надо
)
Alex
@ZAZmaster
Mar 02 2016 06:51 UTC
))
D3-FC
@D3-FC
Mar 02 2016 06:52 UTC
погоди. что-то ыт меня запутал
Alex
@ZAZmaster
Mar 02 2016 06:52 UTC
я вот тоже думаю, чтото не то )
D3-FC
@D3-FC
Mar 02 2016 06:52 UTC
у тебя всего 2 таблички?
Alex
@ZAZmaster
Mar 02 2016 06:53 UTC
смотри:
D3-FC
@D3-FC
Mar 02 2016 06:53 UTC
или у тебя есть учителя, ученики и так далее и они все являются персонами?
Alex
@ZAZmaster
Mar 02 2016 06:53 UTC
так, как код вставить тут? )
D3-FC
@D3-FC
Mar 02 2016 06:54 UTC
```
```
в центре код
Alex
@ZAZmaster
Mar 02 2016 06:54 UTC
persons
    id - integer
    fio - string
    city_id - integer
    ...
    edu_id - integer

cityes
    id - integer
    name - string
    sort - integer

...

edus
    id - integer
    name - string
    sort - integer
D3-FC
@D3-FC
Mar 02 2016 06:54 UTC
а справочники где?
Anton Vorontsov
@symbios-zi
Mar 02 2016 06:54 UTC
всем привет
KarmaBot
@KarmaBot
Mar 02 2016 06:54 UTC
@symbios-zi, здравствуй.
D3-FC
@D3-FC
Mar 02 2016 06:54 UTC
edus?
Alex
@ZAZmaster
Mar 02 2016 06:55 UTC
cityes edus
D3-FC
@D3-FC
Mar 02 2016 06:55 UTC
@symbios-zi привет
Alex
@ZAZmaster
Mar 02 2016 06:55 UTC
и таких справочников всего 7
D3-FC
@D3-FC
Mar 02 2016 06:55 UTC
понятно
Anton Vorontsov
@symbios-zi
Mar 02 2016 06:55 UTC
cityes неверно
cities
Alex
@ZAZmaster
Mar 02 2016 06:55 UTC
я написал 2 для примера (они все 7 одинаковой структуры только с разными данными
Ivan
@Hunternnm
Mar 02 2016 06:55 UTC
Боброе утро
Alex
@ZAZmaster
Mar 02 2016 06:55 UTC
@symbios-zi это для примера, так что пока не важно :)
Anton Vorontsov
@symbios-zi
Mar 02 2016 06:56 UTC
Edus что означает?
Alex
@ZAZmaster
Mar 02 2016 06:56 UTC
@Hunternnm бобра!
D3-FC
@D3-FC
Mar 02 2016 06:56 UTC
тогда создай одну табличку справочники и у них просто колонку тип
Alex
@ZAZmaster
Mar 02 2016 06:56 UTC
@symbios-zi сокращение от - образование
@D3-FC это я понимаю, но как сделать связь модели справочник и персона?
Anton Vorontsov
@symbios-zi
Mar 02 2016 06:56 UTC
@ZAZmaster помоему не очень корректно. Что значит образования? в контексте "Образование" - не исчисляемое
Alex
@ZAZmaster
Mar 02 2016 06:57 UTC
тоесть нужно мне выбрать всех со средним образование, в SQL запросе я себе это прекрасно представляю, а как из ларавела?
D3-FC
@D3-FC
Mar 02 2016 06:57 UTC

и будет так

```
persons
    id - integer
    fio - string
   справочник_id - integer



справочники
    id - integer
    name - string
    sort - integer
    type-text

```

Alex
@ZAZmaster
Mar 02 2016 06:57 UTC
согласен, так правильно. но как построить модель тогда?
ааа нееет, не правильно !
щас
Anton Vorontsov
@symbios-zi
Mar 02 2016 06:58 UTC
@ZAZmaster опиши сущности на пальцах
D3-FC
@D3-FC
Mar 02 2016 06:58 UTC
согласен с @symbios-zi
вообще структура странная
изначально
Alex
@ZAZmaster
Mar 02 2016 06:58 UTC
persons
    id - integer
    fio - string
    справочник_города_id - integer
    справочник_образование_id - integer
    справочник_организация_id - integer

справочники
    id - integer
    name - string
    sort - integer
    type - string
D3-FC
@D3-FC
Mar 02 2016 06:59 UTC
оО
справочник_города_id - integer
справочник_образование_id - integer
справочник_организация_id - integer
вот это зачем?
Anton Vorontsov
@symbios-zi
Mar 02 2016 06:59 UTC
@D3-FC мутно
@ZAZmaster !
D3-FC
@D3-FC
Mar 02 2016 06:59 UTC
@symbios-zi в каком смысле мутно?
Alex
@ZAZmaster
Mar 02 2016 07:00 UTC
щас подумаю как лучше объяснить :)
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:00 UTC
@ZAZmaster у тебя получается так: Есть люди, они имеют образование (или несколько). Каждое образование имеет свой адрес
верно?
D3-FC
@D3-FC
Mar 02 2016 07:01 UTC
нет у него получается что каждая персона имеет свой город своё образование, свою профессию и ещё что-то
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:01 UTC
Person has many Graduation (edu).
Graduation has one Location
D3-FC
@D3-FC
Mar 02 2016 07:01 UTC
вот ему и говорю это проже держать в одной табличке persons
Alex
@ZAZmaster
Mar 02 2016 07:01 UTC
вот представьте кладр. у челоека есть адрес который делится на индекс, область, город, улица, дом итд. тоесть имеем:
```
persons
    id - integer
    fio - string
    индекс
    область
    город
    улица
    дом
но названия городов находятся в справочнике
названия улиц тоже
D3-FC
@D3-FC
Mar 02 2016 07:01 UTC
persons
     id - integer
    fio - string
    city-string
    country-string
    edu-string
Alex
@ZAZmaster
Mar 02 2016 07:02 UTC
областей тоже
D3-FC
@D3-FC
Mar 02 2016 07:02 UTC
ааа
Alex
@ZAZmaster
Mar 02 2016 07:02 UTC
@D3-FC по всем правилам баз данных повторяющиеся данные выносят в отдельную таблицу в справочник.
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:02 UTC
@ZAZmaster нужна ли информация о всех адресах человека?
или адрес только 1 и текущий
D3-FC
@D3-FC
Mar 02 2016 07:03 UTC
тогда у тебя не одна структура получается
Alex
@ZAZmaster
Mar 02 2016 07:03 UTC
@symbios-zi адреса это пример. у меня другие поля. специфичные для моей базы
@D3-FC все справочники у меня одной структуры в БД (id, name, sort_order) но с разными данными.
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:04 UTC
я бы сделал примерно так.
Person -> has many Education
Person -> has many Location
// маневрируешь с локациями как хочешь
Location -> has one City
Location -> has one Region
Location -> has...
D3-FC
@D3-FC
Mar 02 2016 07:04 UTC
например у таблички
adress
     str-string
     flat-string
     floor-strin
у образования таких колонок не будет
так что изходя из этого
Alex
@ZAZmaster
Mar 02 2016 07:04 UTC
я адреса для примера так разбил)
D3-FC
@D3-FC
Mar 02 2016 07:04 UTC
@D3-FC по всем правилам баз данных повторяющиеся данные выносят в отдельную таблицу в справочник.
это утверждение не верно
Alex
@ZAZmaster
Mar 02 2016 07:05 UTC
почему?
D3-FC
@D3-FC
Mar 02 2016 07:05 UTC
@ZAZmaster для примера не надо. ты скажи по существу задачу
потому что если есть адресс
то он так и должен формляться
и тогда
я бы сделал примерно так.
Person -> has many Education
Person -> has many Location
// маневрируешь с локациями как хочешь
Location -> has one City
Location -> has one Region
Location -> has...
вот это решение самое правильное
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:06 UTC
легче будет менять сущность в будущем
Person -> has many Location в этой связи можно хранить еще и период времени, когда там человек жил
D3-FC
@D3-FC
Mar 02 2016 07:06 UTC
@symbios-zi глянь пожалста выше мой вопрос
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:06 UTC
@D3-FC какой?
D3-FC
@D3-FC
Mar 02 2016 07:07 UTC

@D3-FC

Привет всем. Вопрос касательно архитектуры. Интересно ваше мнение.

Какой вариант из нижеприведённых лучше с точки зрения построения большого приложения.

Условие.
Есть некий компонент (виджет) на стороне фронта который применяется во многих страницах.
Естественно его нужно обрабатывать на стороне бэкенда, для этого был создан некий service myWidgetGenerator
который занимается построением ответа для этого виджета.

И вот подходимк моменту когда на каждом контроллере нужно для разных моделей передавать этому генератору различные параметры в итоге контроллер разрастается вот к такому виду.

Вариант Номер 1
http://laravel.io/bin/yGm63
Второй вариант запихать генеротор в сервис провайдер и тогда сервисный класс будет состоять из двух классов:
непосредственно сам Generator и GeneratorRepository

где GeneratorRepository - Набор свойств и конструктор

а Generator - набор методов с параметрами для построения виджета для разных моделей:
http://laravel.io/bin/52DN8
И сам контроллер тогда принимает вот такой вид:
http://laravel.io/bin/kW5aP

KarmaBot
@KarmaBot
Mar 02 2016 07:07 UTC
@D3-FC, у нас тут принято писать кратко и по делу. А если нужно показать длинный код, то можно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
D3-FC
@D3-FC
Mar 02 2016 07:08 UTC
@symbios-zi поддерживаю

@symbios-zi

легче будет менять сущность в будущем

Person -> has many Location в этой связи можно хранить еще и период времени, когда там человек жил
если мест жительсва несколько тогда делаешь person->hasmany location
Alex
@ZAZmaster
Mar 02 2016 07:08 UTC
persons
    id - integer
    fio - string
    территория
    организация
    должность
    категория работника
    образование

справочник_территорий
    id - integer
    name - string
    sort - integer

справочник_организаций
    id - integer
    name - string
    sort - integer

и такиеже остальные справочники
база сама по себе есть и наполнена, в справочниках данные есть
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:09 UTC
@D3-FC не очень понятна зачада с виджетами
@D3-FC на пальцах объясни :)
Alex
@ZAZmaster
Mar 02 2016 07:10 UTC
смысл справочников в моём случае в том, что оператор наполняется базу и выбирает из справочников данные а не вводит их сам во избежании ошибки, если нужно добавить в справочник то это делает администратор.
D3-FC
@D3-FC
Mar 02 2016 07:10 UTC
если у тебя у всех справочников одинаковая структура и связь всегда perosn-> один к многим тогда делай через морф и справочнику сделай тип
уже говорил выше
Alex
@ZAZmaster
Mar 02 2016 07:12 UTC
ок, попробую, но чесно не сильно понял как это сделать :)
например мне нужно будет выбрать всех персон у которых среднее образование
D3-FC
@D3-FC
Mar 02 2016 07:12 UTC
perosn-> один к многим*
where type, edu
вот тебе и выборка
JhaoDa
@jhaoda
Mar 02 2016 07:13 UTC
@D3-FC @ZAZmaster господа, крайне большая просьба не экономить буквы в одном сообщение
Они же бесплатные пока
D3-FC
@D3-FC
Mar 02 2016 07:13 UTC
@jhaoda ок
Alex
@ZAZmaster
Mar 02 2016 07:13 UTC
persons
    id - integer
    fio - string
    территория_id - integer
    организация_id - integer
    должность_id - integer
    категория работника_id - integer
    образование_id - integer

справочник_территорий
    id - integer
    name - string
    sort - integer
    type - enum(территория, организация, должность, категория работника, образование)
с таким вариантом есть тоже сложность. база существует и наполнена, тоесть придётся конвертировать... но как вариант попробуем, дам задане БДшникам.
@D3-FC @symbios-zi спасибо1
KarmaBot
@KarmaBot
Mar 02 2016 07:15 UTC
Спасибо (+1) для @D3-FC принято! Текущая карма +4.
Спасибо (+1) для @symbios-zi принято! Текущая карма +72.
D3-FC
@D3-FC
Mar 02 2016 07:15 UTC

Например у второго варианта есть плюсы:
Если когда-нибудь решу передалать что-нибудь в этом генераторе, Не придётся бегать по всем контроллерам и менять. Достаточно будет открыть один файлик Generator И унего изменить все методы renderProviderBlanks() renderSomethingElse....

Зато у первого удобней навигация. Сразу наглядно что куда передаётся, Ctrl+click перелетаешь в файлик с реализацией метода render()
и всё видишь.

Во втором же варианте придётся Залазить в AppServiceProvider там лезть в генератор, потом смотреть от кого он унаследован и потом уже увидешь реализацию render() вот в этом то и заключается дилема
и там и там и плюсы и минусы @symbios-zi

, @ZAZmaster не правильная структура
посмотри про polymorph ещё разок
This message was deleted
Soprun Vladislav
@vlsoprun
Mar 02 2016 07:19 UTC
Всем привет
KarmaBot
@KarmaBot
Mar 02 2016 07:19 UTC
@vlsoprun, и тебе привет ;)
Alex
@ZAZmaster
Mar 02 2016 07:20 UTC
@D3-FC читаю. но сейчас меня берут сомнения что БДшники будут переделывать базу. тоесть у меня так и останется 7 справочников. а значит нужно будет делать 7 моделей под каждый справочник
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:20 UTC
@vlsoprun здорова
Anton Vorontsov
@symbios-zi
Mar 02 2016 07:26 UTC
отличная статья. Рекомендую http://tproger.ru/translations/does-programmer-work-hard/
D3-FC
@D3-FC
Mar 02 2016 07:31 UTC
@ZAZmaster сам переделай используя миграции
в ларе очень легко мигрировать
D3-FC
@D3-FC
Mar 02 2016 07:56 UTC
Подскажте как использовать метод makeVisible()?
$providerBank->get()->makeVisible(['name']);
всё работает. тут проблем нет.
Но если у этой модели есть отношение например $providerBank->medicines
D3-FC
@D3-FC
Mar 02 2016 08:02 UTC
как сказать чтобы у отношения тоже сделал makeVisible('number')
Maxim
@Big-Shark
Mar 02 2016 09:01 UTC
@ZAZmaster вообще самое логично оставить все как есть, и сделать 7 моделей, и 7 связей в них, работы на 30 минут, но ты получишь нормальные объекты, которые потом можно будет модифицировать нужным образом
@ZAZmaster допустим добавить координаты к територии, или чтото такое
@ZAZmaster ну и выборку делать нормально можно будет Cities::all();
D3-FC
@D3-FC
Mar 02 2016 09:12 UTC

@Big-Shark
привет. ты в своё время советовал использовать фрактал.
Вот вытекающий вопрос.
Ты наверняка знаешь про мутаторы и аксессоры.
Дак вот. Не проще ли все необходимые поля заготавливать в модели используя getAtttribute и поумолчанию все полля делать hidden
привязывая их через appends
делать hidden - для того чтобы избедать излишней работы не нужных методов, когда они не нужны и контролировать выходные данные

а конкретно в контроллере для выбора нужных полей делать
makeVisible()

Maxim
@Big-Shark
Mar 02 2016 09:12 UTC
@D3-FC эммммм..... нет)
D3-FC
@D3-FC
Mar 02 2016 09:13 UTC
почему?)

Есть Медикамент, у него есть параметры различного рода:
name, dose, type, dose_number, divisibility_type

Очень часто при работе в разных контроллерах необходимо обращаться к модели Medicine
и получать несуществующий атрибут full_name
который является суммарнной строкой от
name, dose, type, dose_number, divisibility_type

Maxim
@Big-Shark
Mar 02 2016 09:13 UTC
@D3-FC кода в 2 раза больше, логика размыта, а тут все в 1 месте красиво и удобно
D3-FC
@D3-FC
Mar 02 2016 09:14 UTC
тоесть используя фрактаk ты предлагаешь тот же самый getFullNameAttribute
привязывать к выдаче через фрактал
верно?
Maxim
@Big-Shark
Mar 02 2016 09:14 UTC
@D3-FC ну и в чем сложность?
@D3-FC ну если ты гдето это еще используешь кроме апи, то да
@D3-FC делаешь gеtFullName и в фрактале вызываешь его как обычную переменную
D3-FC
@D3-FC
Mar 02 2016 09:16 UTC
@Big-Shark понятно спасибо
KarmaBot
@KarmaBot
Mar 02 2016 09:16 UTC
Спасибо (+1) для @Big-Shark принято! Текущая карма +691.
JhaoDa
@jhaoda
Mar 02 2016 09:57 UTC
@D3-FC польза фрактала ещё и в том, что часто требуется отдать модель с «виртуальными» атрибутами, причем они могут меняться в зависимости от роли юзера, например
Ivan
@Hunternnm
Mar 02 2016 10:07 UTC
Коллеги, есть примерно такая конструкция - TestInsertModel::insert($insert);. Как в сгенерированный запрос добавить команду?
Т.е. оно генерирует вставку, всё хорошо... Но как добавить, например, ON DUPLICATE KEY... ?
D3-FC
@D3-FC
Mar 02 2016 10:29 UTC
@jhaoda Но виртуальные атрибуты можно обрабатывать и в модели. в getAttribute
там же и вести контроль ролей
getGrifReportAttribute(){
Если агент return $this->infoForAgent
Если гость return $this->infoForGuest
}
Maxim
@Big-Shark
Mar 02 2016 10:32 UTC
@D3-FC мутно все это будет
@D3-FC я не понимаю почему ты не хочешь использовать фрактал?
D3-FC
@D3-FC
Mar 02 2016 10:33 UTC
лишняя прослойка получается
Maxim
@Big-Shark
Mar 02 2016 10:34 UTC
@D3-FC ОМГ, ну ок.
D3-FC
@D3-FC
Mar 02 2016 10:34 UTC
@Big-Shark не правильно сказать, что не хочу. Пытаюсь избрать для себя путь

@Big-Shark Есть ещё вариант делать так
$model->renderResponseData

renderResponseData() {
foreach collection
stats => $repo->getStats()
somth => $repoGetSmth()
}

Maxim
@Big-Shark
Mar 02 2016 10:36 UTC
@D3-FC хахаха, гудлак
@D3-FC $model->render это вин)
D3-FC
@D3-FC
Mar 02 2016 10:37 UTC
$model->renderResponseData опечатлся
$repo -> renderResponseData()
Maxim
@Big-Shark
Mar 02 2016 10:37 UTC
@D3-FC да не важно, они ничего про рендер вообще не знают, не их зона ответственности
D3-FC
@D3-FC
Mar 02 2016 10:38 UTC
@Big-Shark а чья это зона?
Maxim
@Big-Shark
Mar 02 2016 10:39 UTC
@D3-FC прослойки, от которой ты пытаешься уйти, грубо говоря ты же не рендеришь вью в модели, у тебя контроллер отдает данные уже подготовленные во вью, а та рендерит
@D3-FC рендеринг жс это 1 строки, скомпилить в жс, соответственно надо както подготовить данные для вью
@D3-FC этим может заняться контроллер, но это не самое удобное решение, так как нам придется дублировать код и контролеры станут толще
@D3-FC и тут мы приходим к тому что нам нужно чтото, что сможет хранить вариант трансформации обьекта в елемент джесон
JhaoDa
@jhaoda
Mar 02 2016 10:41 UTC
@D3-FC не надо смешивать логику. Атрибутов может быть много, могут быть разные условия — зачем всё это в модели?
D3-FC
@D3-FC
Mar 02 2016 10:42 UTC
@jhaoda @Big-Shark понятно убедили)
значит придётся всёравно делать свою прослойку или сервис, тоесть по сути пилить то что уже напилено во фрактале
и вызывать эту прослойку в контроллере прямо перед выдачей?
верно вас понял?
Anton Vorontsov
@symbios-zi
Mar 02 2016 10:43 UTC
чета вы ребята усложняете с этими фракталами
D3-FC
@D3-FC
Mar 02 2016 10:44 UTC
@symbios-zi а ты как предлагаешь?
Anton Vorontsov
@symbios-zi
Mar 02 2016 10:44 UTC
@D3-FC сделать много моделей
Maxim
@Big-Shark
Mar 02 2016 10:44 UTC
@symbios-zi нужно больше моделей)
Anton Vorontsov
@symbios-zi
Mar 02 2016 10:45 UTC
@Big-Shark супер моделью попахивает которая умеет всё. Отсюда потом будет: "Эта модель слишком много умела"
D3-FC
@D3-FC
Mar 02 2016 10:45 UTC
@symbios-zi стоп. модель это табличка. её отражение в Объекте
что значит делать много моделей
Anton Vorontsov
@symbios-zi
Mar 02 2016 10:46 UTC
@D3-FC вы о Persons, Educations?
D3-FC
@D3-FC
Mar 02 2016 10:47 UTC
@Big-Shark допустим использую фрактал, где ты советуешь задавать шаблон для сериализации.
Выносить в сервис и потом сервис вызывать уже через сервис провайдер в контроллере
Или же в репозиторий к модели пихать и вызывать методом перед отправкой?
или прямо в контроллере?
JhaoDa
@jhaoda
Mar 02 2016 10:48 UTC
@D3-FC там нет шаблонов, там классы-трансформеры
D3-FC
@D3-FC
Mar 02 2016 10:48 UTC
@jhaoda имел в виду
$resource = new Collection($books, function(array $book) {
    return [
        'id'      => (int) $book['id'],
        'title'   => $book['title'],
        'year'    => (int) $book['yr'],
        'author'  => [
            'name'  => $book['author_name'],
            'email' => $book['author_email'],
        ],
        'links'   => [
            [
                'rel' => 'self',
                'uri' => '/books/'.$book['id'],
            ]
        ]
    ];
});
собирание структуры
JhaoDa
@jhaoda
Mar 02 2016 10:49 UTC
@D3-FC это лучше не в анонимке держать, а в классе-трансформере
Maxim
@Big-Shark
Mar 02 2016 10:49 UTC
@symbios-zi мы совсем о другом)
D3-FC
@D3-FC
Mar 02 2016 10:49 UTC
@symbios-zi не мы это давно проехали)
Maxim
@Big-Shark
Mar 02 2016 10:50 UTC
@D3-FC там есть классы трансформеры
@D3-FC https://bitbucket.org/Big_Shark/jsonapi-vue/src/6f6f1d28433ffc0001220db6a406973dc901de26/src/?at=master вот смотри как я делал для теста с jsonapi
D3-FC
@D3-FC
Mar 02 2016 10:50 UTC
@Big-Shark чего-то видимо не знаю. о каких классах трансформерах идёт речь
ок сейчас ознакомлюсь
Maxim
@Big-Shark
Mar 02 2016 10:51 UTC
@D3-FC ты доку не дочитал, там еще пол странички вниз прокрутить и все понятно
D3-FC
@D3-FC
Mar 02 2016 10:54 UTC
@Big-Shark что-то не вижу там фрактала)
@Big-Shark по поводу доки ты прав.
Maxim
@Big-Shark
Mar 02 2016 10:55 UTC
@D3-FC там не фрактал, там jsonapi но смысл то похож
D3-FC
@D3-FC
Mar 02 2016 10:56 UTC
@Big-Shark да тут понятно. тоесть у тебя есть некий Shema где ты задаёшь формат для рендеринга
Maxim
@Big-Shark
Mar 02 2016 10:56 UTC
@D3-FC угу
D3-FC
@D3-FC
Mar 02 2016 10:57 UTC
@Big-Shark и хранишь ты его в Shemas?
по аналогии Repositories
Maxim
@Big-Shark
Mar 02 2016 10:57 UTC
@D3-FC 0_0 нет
D3-FC
@D3-FC
Mar 02 2016 10:57 UTC
Shemas
UserShema
PostShema
....
Maxim
@Big-Shark
Mar 02 2016 10:57 UTC
@D3-FC ааа, тьфу ты, ну да, типа дериктория схемы, и все там
D3-FC
@D3-FC
Mar 02 2016 10:58 UTC
@Big-Shark понятно. определился
Maxim
@Big-Shark
Mar 02 2016 10:58 UTC
@D3-FC ну у меня это тестовый проект, поэтому там тупо все в корне
@D3-FC только у тебя будут не схемы, а трансформеры
D3-FC
@D3-FC
Mar 02 2016 10:58 UTC
@Big-Shark Ну да понятно. Принцип понял. Согласен. Удобно
@Big-Shark А по поводу подключения к фрактала.
Есть ли инструкция где-нибудь?
подключения к ларе
чтобы самому не ковыряться
Maxim
@Big-Shark
Mar 02 2016 11:00 UTC
@D3-FC да чтож такое, когда ты прочитаешь про ди и поймешь как это использовать
D3-FC
@D3-FC
Mar 02 2016 11:00 UTC
@Big-Shark Ди?)
Maxim
@Big-Shark
Mar 02 2016 11:00 UTC
@D3-FC депенденси инжекшен
D3-FC
@D3-FC
Mar 02 2016 11:00 UTC
ага
понял
@Big-Shark Спасибо. пойду читать
KarmaBot
@KarmaBot
Mar 02 2016 11:01 UTC
Спасибо (+1) для @Big-Shark принято! Текущая карма +692.
aleserche
@Aleserche
Mar 02 2016 11:57 UTC
ребят, подскажите, пожалуйста. В некоторых заведениях есть wifi точки. Зайдя на них, можно обнаружить стартовую страницу со всякими социалками и прочее. Как эта штука правильно называется? В каких роутерах можно кастомизировать стартовую страницу?
Maxim
@Big-Shark
Mar 02 2016 11:58 UTC
@Aleserche это называется теми словами который тут произносить нельзя
Orion55
@orion55
Mar 02 2016 12:00 UTC
Hi All!
HotSpot
@Aleserche В основном в роутерах с мозгами
Orion55
@orion55
Mar 02 2016 12:04 UTC
@Aleserche в прокси-серверах для авторизации можно использовать веб-страницу. Копай свой прокси
@Aleserche ну или роутер для авторизации может пересылать на веб-сайт
@orion55 недавно настраивал подобную весчь.
Orion55
@orion55
Mar 02 2016 12:31 UTC
@aios и как она работа сисадмина? ;-)
@orion55 я не сисадмин)
D3-FC
@D3-FC
Mar 02 2016 12:43 UTC
@Big-Shark а в трансформер можено передавать не только одну коллдекцию, а 2,3,4.....
?
Maxim
@Big-Shark
Mar 02 2016 12:44 UTC
@D3-FC нет
@aios чайник починить сможешь?
@aios а картридж в принтере поменять?
Orion55
@orion55
Mar 02 2016 12:46 UTC
@Big-Shark а 2 числа в экселе думаешь сможет сложить, а то эксель перестал числа складывать :-)
D3-FC
@D3-FC
Mar 02 2016 12:46 UTC
@Big-Shark а как быть если нужно
      [
            'referals'=>[
                'myCustomText'=>'траляля',
                'referalsData'=>$user->referals,
                'someVirtutalReferals'=>$user->myVirtualReferal,
                'validatedReferals'=>$userRepo->validatedRefarals(),
            ]


        ]
Maxim
@Big-Shark
Mar 02 2016 12:46 UTC
@orion55 как так перестал? 0_0
@D3-FC я не понимаю что у тебя за код там странный, разберись вначале с тем как все это работает
Orion55
@orion55
Mar 02 2016 12:47 UTC
@Big-Shark эксель - это загадочная программа, особенно если формат ячеек не смотреть
D3-FC
@D3-FC
Mar 02 2016 12:47 UTC
@Big-Shark имею в виду если нужно собрать коллекцию из 2х моделей
Orion55
@orion55
Mar 02 2016 12:47 UTC
@Big-Shark это в джава скрипт можно сложить строку с массивом и получить результат, а в эксель это не прокатывает :-)
Maxim
@Big-Shark
Mar 02 2016 12:49 UTC
@D3-FC тогда ты должен это вернуть в 2 разных запроса в джесон
D3-FC
@D3-FC
Mar 02 2016 12:50 UTC
@Big-Shark но дак нужно то в одном
тоесть виджет должен получить определённый json
Maxim
@Big-Shark
Mar 02 2016 12:50 UTC
@orion55 хз, я обычно использую гугл ексель, и там все норм, у меня вообще линуск и опен офис только, уже кучу лет не использовал майкросовтовский иксель
@D3-FC ну сделай коллекцию в которую обьедени 2 коллекции
@D3-FC а вообще я тебе написал что если тебе это нужно, что у тебя чтото ен так с логикой
D3-FC
@D3-FC
Mar 02 2016 12:52 UTC
ок
@Big-Shark ах да это я затупил
      [
            'referals'=>[
                'myCustomText'=>'траляля',
                'validatedReferals'=>$userRepo->validatedRefarals($user->referals),
            ]
        ]
D3-FC
@D3-FC
Mar 02 2016 12:57 UTC
туда и не надо 2 коллекции передавать
что-то спать пора
:D
просто в кложуру через use() можно хелпер передать
или репу
D3-FC
@D3-FC
Mar 02 2016 13:29 UTC
@Big-Shark ты слышал про
https://github.com/spatie/laravel-fractal
?
JhaoDa
@jhaoda
Mar 02 2016 13:29 UTC
@D3-FC а ты пробовал прочитать описание?
Если попробуешь, то узнаешь, что это ПРОСТО сервис-провайдер для фрактала
D3-FC
@D3-FC
Mar 02 2016 13:30 UTC
да виноват не то скинул
вот это форк от fractal для ларавел
так понимаю
JhaoDa
@jhaoda
Mar 02 2016 13:32 UTC
Это очередная прослойка
Maxim
@Big-Shark
Mar 02 2016 13:33 UTC
@D3-FC а тебя не смущает то что она уже как 2 года не обнволяется7
D3-FC
@D3-FC
Mar 02 2016 13:33 UTC
смущает потому и спрашиваю) @Big-Shark
@Big-Shark @jhaoda кажется стоит использовать уже готовый сервис контроллер
Maxim
@Big-Shark
Mar 02 2016 13:36 UTC
@D3-FC фейспалм
JhaoDa
@jhaoda
Mar 02 2016 13:36 UTC
@D3-FC ну если кажется, то используй
Мне вот не кажется
Maxim
@Big-Shark
Mar 02 2016 13:36 UTC
@D3-FC ты бы хоть разобрался что там и как
@D3-FC мне вот тоже не кажется
D3-FC
@D3-FC
Mar 02 2016 13:37 UTC
@Big-Shark @jhaoda
вот пытаюсь но не пойму чем плохо использовать уже готовый с фасадами сервис контроллер того же самого fractal-а
@Big-Shark @jhaoda
если не сложно пару слов. почему не кажется
Maxim
@Big-Shark
Mar 02 2016 13:38 UTC
@D3-FC тем что фасады не нужны, их измененый синтаксис тоже, джа и конфиг тоже не к месту, так что какой смысл от него?
JhaoDa
@jhaoda
Mar 02 2016 13:38 UTC
@D3-FC потому что это не тот же самый фрактал
D3-FC
@D3-FC
Mar 02 2016 13:38 UTC
@Big-Shark @jhaoda ну хотя с ДИ впринципе и так всё давольно просто использовать
согласен
D3-FC
@D3-FC
Mar 02 2016 13:58 UTC
@jhaoda @Big-Shark спасибо вам ещё раз. классная штука оказалась) зря сомневался
KarmaBot
@KarmaBot
Mar 02 2016 13:58 UTC
Спасибо (+1) для @jhaoda принято! Текущая карма +680.
Спасибо (+1) для @Big-Shark принято! Текущая карма +694.
D3-FC
@D3-FC
Mar 02 2016 14:50 UTC
непонятки опять с фракталом
$book->engName->id
выдаёт ошибку

trying to get property of non-object/

но вот такое использование проходит свободно $book->engName['id']

и dd ($book->engName->id) возвращает результат
подскажите в чём проблема? ограничения фрактала?
engName-это релейшн
Maxim
@Big-Shark
Mar 02 2016 14:53 UTC
@D3-FC покажи код где и как ты это делаешь
JhaoDa
@jhaoda
Mar 02 2016 14:54 UTC
@D3-FC всё бы вам обвинять то ларавель, то фрактал...
D3-FC
@D3-FC
Mar 02 2016 14:55 UTC
This message was deleted
@Big-Shark
это тестовый код. просто чтобы поиграться с фракталом
@jhaoda и ничего не обвиняю. просто пытаюсь разобраться что делаю не так
JhaoDa
@jhaoda
Mar 02 2016 14:58 UTC
@D3-FC
$books = $medicine->all();
$books->with('engName');
D3-FC
@D3-FC
Mar 02 2016 14:58 UTC
прошу прощения
$books->load('engName');
JhaoDa
@jhaoda
Mar 02 2016 14:58 UTC
Чо за бред?
D3-FC
@D3-FC
Mar 02 2016 14:58 UTC
опечатка
JhaoDa
@jhaoda
Mar 02 2016 14:58 UTC
@D3-FC это вообще рабочий код?
'recipe' => (bool) $book->reiCPe
вот так рабочий
Но стоит добавить, 'id' => $book->engName->id,
становится нерабочим
хотя 'id' => $book->engName при этом возвращает объект
JhaoDa
@jhaoda
Mar 02 2016 15:03 UTC
@D3-FC у тебя по сути в цикле перебираются books, на какой по счету модели падает?
D3-FC
@D3-FC
Mar 02 2016 15:03 UTC
эм. а как узнать
JhaoDa
@jhaoda
Mar 02 2016 15:03 UTC
@D3-FC слушай, ну элементарные же вещи
D3-FC
@D3-FC
Mar 02 2016 15:04 UTC
вообще на первой же
хотя не
JhaoDa
@jhaoda
Mar 02 2016 15:05 UTC
Не может такого быть
D3-FC
@D3-FC
Mar 02 2016 15:05 UTC
вру
JhaoDa
@jhaoda
Mar 02 2016 15:05 UTC
Во-во :)
Какие, нахрен, там ограничения фрактала могут быть вообще даже в теории?
D3-FC
@D3-FC
Mar 02 2016 15:05 UTC
@jhaoda подскажи элементарную вещь?
JhaoDa
@jhaoda
Mar 02 2016 15:05 UTC
Обычное получение свойства объекта, при чем тут фрактал?
D3-FC
@D3-FC
Mar 02 2016 15:06 UTC
@jhaoda как узнать счёт на котором падает
JhaoDa
@jhaoda
Mar 02 2016 15:06 UTC
@D3-FC ты чо, издеваешься?
D3-FC
@D3-FC
Mar 02 2016 15:06 UTC
@jhaoda видимо надо стыдиться но нет не знаю)
JhaoDa
@jhaoda
Mar 02 2016 15:07 UTC
@D3-FC ну тогда делай вардамп и смотри, у какой модели нет связи, на той и падает
D3-FC
@D3-FC
Mar 02 2016 15:08 UTC
@jhaoda да ты прав тут фрактал не при чём) тут кривые руки где-то при чём
        'id'  =>  $book->engName?$book->engName->id:0,
вот так всё работает)
ЗНАЧИТ гдето связь падает
JhaoDa
@jhaoda
Mar 02 2016 15:09 UTC
@D3-FC а это что, необязательная связь?
D3-FC
@D3-FC
Mar 02 2016 15:09 UTC
@jhaoda оказалось что да)
JhaoDa
@jhaoda
Mar 02 2016 15:10 UTC
@D3-FC что значит «оказалось»? Кто логику работы продумывал? Не ты?
D3-FC
@D3-FC
Mar 02 2016 15:10 UTC
@jhaoda я просто) это тестовый код) налепил на скорую руку)
@jhaoda при копипасте налажал
JhaoDa
@jhaoda
Mar 02 2016 15:11 UTC
@D3-FC знаешь, почему надо ник ставить вначале?
Потому что получается «при копипасте налажал jhaoda»
А я не лажал :)
D3-FC
@D3-FC
Mar 02 2016 15:11 UTC
:D :D :D :D :D
казнить нельзя помиловать
D3-FC
@D3-FC
Mar 02 2016 15:19 UTC
в общем спасибо @jhaoda
KarmaBot
@KarmaBot
Mar 02 2016 15:19 UTC
Спасибо (+1) для @jhaoda принято! Текущая карма +681.
Xaaalera
@Xaaalera
Mar 02 2016 15:21 UTC
ребята yii фреймворк есть конфа живая где-то?
Andrei Sosnov
@atehnix
Mar 02 2016 15:23 UTC
@Xaaalera есть
JhaoDa
@jhaoda
Mar 02 2016 15:23 UTC
@Xaaalera гугл тебя забанил?
Xaaalera
@Xaaalera
Mar 02 2016 15:24 UTC
спасибо @atehnix , @jhaoda нет не забанил я нашел там конфу, но она уже мертвая была
KarmaBot
@KarmaBot
Mar 02 2016 15:24 UTC
Спасибо (+1) для @atehnix принято! Текущая карма +52.
Спасибо (+1) для @jhaoda принято! Текущая карма +682.
Maxim
@Big-Shark
Mar 02 2016 15:27 UTC
@Xaaalera мертвая конфа для мертвого фреймверка.
Xaaalera
@Xaaalera
Mar 02 2016 15:28 UTC
@Big-Shark я работаю с тем за что платят
мне не по душе yii но за него платят
и там жуткий гавнодел похоже сайт делал , встал вопрос теперь пытаюсь решить , почему не могу войти с точным логином и паролем
@Big-Shark спасибо что подлил, ибо ответа я так понял не дождусь в конфе той :))
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 15:37 UTC
@Big-Shark помнишь ты кидал генератор похапэ?
точнее делал обзор даже
кто лучше
не напомнишь ссыль?
Maxim
@Big-Shark
Mar 02 2016 15:37 UTC
@SerafimArts ты ленивый, зайди ко мне на гитхаб да глянь
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 15:37 UTC
да
Maxim
@Big-Shark
Mar 02 2016 15:37 UTC
@SerafimArts а тебе что генерить надо?
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 15:38 UTC
@Big-Shark всё, спс
KarmaBot
@KarmaBot
Mar 02 2016 15:38 UTC
Спасибо (+1) для @Big-Shark принято! Текущая карма +696.
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 15:38 UTC
@Big-Shark стабы для встроенных классов
Maxim
@Big-Shark
Mar 02 2016 15:38 UTC
@SerafimArts омг, это чтото новое, но советую газзи
@SerafimArts или гусси
@SerafimArts он конечно упоротый немного, но апи самое интересное
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 15:39 UTC
а у тебя есть другие идеи где можно взять их для автокомплита?
=)))
Maxim
@Big-Shark
Mar 02 2016 16:13 UTC
@SerafimArts ты лучше задачу опиши номрально
D3-FC
@D3-FC
Mar 02 2016 16:15 UTC

@Big-Shark @jhaoda
помогите плиз)

http://laravel.io/bin/NkM3m

почему-то говорит что ->toJson() такого метода нет

ай
отбой
забыл про менеджер)
JhaoDa
@jhaoda
Mar 02 2016 16:16 UTC
@D3-FC чем помочь? За тебя проверить класс возвращаемого объекта?
Maxim
@Big-Shark
Mar 02 2016 16:16 UTC
@D3-FC слушай, может тебя банить на некоторое время чтоб ты сам иной раз читал и разбирался?
JhaoDa
@jhaoda
Mar 02 2016 16:17 UTC
@D3-FC парень, давай ты сначала буде думать, потом еще раз думать, потом пить чай и снова думать? А в чате писать реже
@Big-Shark ты становишься мной :)
D3-FC
@D3-FC
Mar 02 2016 16:17 UTC
@Big-Shark @jhaoda честно говоря. Почему-то пресветление пришло толкьо когда написал вам) эфект уточки сработал. Но да знаю извиняйте) постараюсь не палить понапрасну
JhaoDa
@jhaoda
Mar 02 2016 16:18 UTC
@D3-FC дык купи уточку
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 16:18 UTC
@Big-Shark сгенерить стабы (для иде) от dll экстеншена
Maxim
@Big-Shark
Mar 02 2016 16:20 UTC
@SerafimArts омг, ок, ну берешь гуси и генеришь по рефлексии, ничего сложного
D3-FC
@D3-FC
Mar 02 2016 16:53 UTC
скажу сразу. думал минут 40
:))))
так всё работает)
Но вот вопрос. как сделать трансформер для коллекции
не нашёл в доке
тоесть с функцией замыканием понял как работает. Из раздела Simple Example
Но вот как тоже самое для коолекции сделать в Классе трансформере?
Maxim
@Big-Shark
Mar 02 2016 16:55 UTC
@D3-FC ты прикалываешься?
D3-FC
@D3-FC
Mar 02 2016 16:55 UTC
самое страшное что нет(((
@Big-Shark
$resource = new Collection($providerBlanks, new ProviderBlankTransformer());
return $fractal->createData($resource)->toArray();
вот так вызываю
но естественно оно ругается , потому что передаю коллекцию
Maxim
@Big-Shark
Mar 02 2016 16:56 UTC
@D3-FC и, вот трансформер указан
@D3-FC ну передай массив, в чем проблемма?
JhaoDa
@jhaoda
Mar 02 2016 16:59 UTC
@D3-FC
if (is_array($items) || $items instanceof \Illuminate\Support\Collection) {
    $resource = new \League\Fractal\Resource\Collection($items, $transformer);
} else {
    $resource = new \League\Fractal\Resource\Item($items, $transformer);
}
Как видишь, фрактал прекрасно употребляет коллекции
Anton Vorontsov
@symbios-zi
Mar 02 2016 16:59 UTC
@jhaoda есть желание в москву поехать работать? http://tatarstan.hh.ru/vacancy/16094891
товарищ ищет программера
D3-FC
@D3-FC
Mar 02 2016 17:00 UTC
@jhaoda @Big-Shark да. нашёл ошибку
JhaoDa
@jhaoda
Mar 02 2016 17:00 UTC
@symbios-zi нету
Anton Vorontsov
@symbios-zi
Mar 02 2016 17:00 UTC
могу порекомендовать
D3-FC
@D3-FC
Mar 02 2016 17:00 UTC
@Big-Shark @jhaoda Спасибо ещё раз. вы сегодня Очень выручили.
KarmaBot
@KarmaBot
Mar 02 2016 17:00 UTC
Спасибо (+1) для @Big-Shark принято! Текущая карма +697.
Спасибо (+1) для @jhaoda принято! Текущая карма +683.
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 17:01 UTC
@symbios-zi ну опять же не сейчас, надо закончить задачи все
@symbios-zi но спасибо
KarmaBot
@KarmaBot
Mar 02 2016 17:01 UTC
Спасибо (+1) для @symbios-zi принято! Текущая карма +73.
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 17:01 UTC
=)
Maxim
@Big-Shark
Mar 02 2016 17:03 UTC
@symbios-zi вот так, а мне значит не предлагаешь, ну ладно ладно, я запомнил.
@SerafimArts разобрался?
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 17:04 UTC
@Big-Shark да, уже запилил
Maxim
@Big-Shark
Mar 02 2016 17:04 UTC
@SerafimArts зацени
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 17:05 UTC
@Big-Shark м?
Maxim
@Big-Shark
Mar 02 2016 17:05 UTC
@SerafimArts пока покажи код как ты сделал это) можно в личку
JhaoDa
@jhaoda
Mar 02 2016 17:05 UTC
@SerafimArts хвастайся, говорит
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 17:10 UTC
@Big-Shark
require __DIR__ . '/vendor/autoload.php';

error_reporting(E_ALL);

$classes   = [];
$functions = [];

$declared = array_merge(get_declared_traits(), get_declared_interfaces(), get_declared_classes());
foreach ($declared as $class) {
    $reflection = new ReflectionClass($class);
    if ($reflection->getExtensionName() === 'PHPQt5') {
        $classes[] = $class;
    }
}

foreach (get_defined_functions()['internal'] as $function) {
    $reflection = new ReflectionFunction($function);
    if ($reflection->getExtensionName() === 'PHPQt5') {
        $functions[] = $function;
    }
}

$generator = new Z\IdeStubGenerator\Strategy\PSR0();
$generator->setBaseDir(__DIR__ . '/stubs/');
$generator->setClasses($classes);
$generator->setFunctions($functions);
$generator->generate();
Maxim
@Big-Shark
Mar 02 2016 17:13 UTC
@SerafimArts ты что там снова за ерунду делаешь, только теперь с Qt?
JhaoDa
@jhaoda
Mar 02 2016 17:13 UTC
Ну хоть не на Wx или Tcl-Tk :)
Kirill Nesmeyanov
@SerafimArts
Mar 02 2016 17:13 UTC
да
развлекаюсь
пока ничего так
Maxim
@Big-Shark
Mar 02 2016 17:14 UTC
@SerafimArts лучше ДМ пиши
Anton Vorontsov
@symbios-zi
Mar 02 2016 17:24 UTC
@Big-Shark поедешь? ты же на другом конце света
@Big-Shark будешь делать mamba, сайт то крупный )
@Big-Shark думаю можно там расчитывать на зп 120-150к
Maxim
@Big-Shark
Mar 02 2016 17:27 UTC
@symbios-zi больше хочу)
Anton Vorontsov
@symbios-zi
Mar 02 2016 17:27 UTC
@Big-Shark ммм, ну как покажешь себя. я могу тебя сконнектить с человеком
сам просто в мск не хочу. не люблю такие огромные города
Maxim
@Big-Shark
Mar 02 2016 17:28 UTC
@symbios-zi нее, я хочу в другую страну)
Anton Vorontsov
@symbios-zi
Mar 02 2016 17:28 UTC
мне тут буржуи с калифорнии написали кстати. на фриланс предлагают подвзяться. может с кем нибудь на пару?
ларавель
@Hunternnm поедешь в мск работать?
Maxim
@Big-Shark
Mar 02 2016 17:34 UTC
@symbios-zi а вот это уже более интересно, пиши в лс подробности)
Maxim
@Big-Shark
Mar 02 2016 17:41 UTC
@symbios-zi Опыт работы с Symfony, Yii или Zend Framework. Интересная подборочка
Artemiy Ryabinkov
@Furdarius
Mar 02 2016 17:56 UTC
Народ, а киньте гитхаб бота нашего, хочу структуру посмотреть.
Artemiy Ryabinkov
@Furdarius
Mar 02 2016 18:08 UTC
@Big-Shark Благодарю
KarmaBot
@KarmaBot
Mar 02 2016 18:08 UTC
Спасибо (+1) для @Big-Shark принято! Текущая карма +698.
Artemiy Ryabinkov
@Furdarius
Mar 02 2016 18:52 UTC

Посмотрел, да и не очень внял...

Вот подскажите, каким образом лучше организовать структуру проекта для бота? Там все строится на ивентах по сути, поэтому не знаю MVC паттерн каким-то боком используем при этом или надо организовывать по другому?

P.S. Писать собираюсь на Ноде, но не думаю что это существенно

Maxim
@Big-Shark
Mar 02 2016 18:54 UTC
@Furdarius по другому
Artemiy Ryabinkov
@Furdarius
Mar 02 2016 18:54 UTC
@Big-Shark Согласен. Как?
Nuzsk
@Nuzsk
Mar 02 2016 18:55 UTC
да как угодно
исходи из задачи
ларавель такой ларавель :smile:
Maxim
@Big-Shark
Mar 02 2016 18:57 UTC
@Furdarius ну по сути у тебя есть только входные данные и выходные
Artemiy Ryabinkov
@Furdarius
Mar 02 2016 18:58 UTC
@Nuzsk Я на NodeJs
Nuzsk
@Nuzsk
Mar 02 2016 18:58 UTC
@Furdarius ну в этой конфе очень большой процент вопросов таких )
Artemiy Ryabinkov
@Furdarius
Mar 02 2016 18:58 UTC
@Big-Shark Кек, дык так везде...
D3-FC
@D3-FC
Mar 02 2016 18:59 UTC

@Big-Shark
А как убрать 'data' namespace у выдачи фрактала.
в доке сказано использовать другой сериализатор.
подключаю.
$fractal = $fractal->setSerializer(new ArraySerializer());

никакого эффекта... всёравно data лепит спереди

Maxim
@Big-Shark
Mar 02 2016 18:59 UTC
@D3-FC я хз, не пробовал его удалять, так как это не надо
D3-FC
@D3-FC
Mar 02 2016 19:01 UTC
получается странная фигня типо
data: {
    id: 1,
    children: {
           data: {}
     }
}
в родителе дата. это понятно, но вот в отношениях зачем он её лепит
ldarikl
@ldarikl
Mar 02 2016 19:18 UTC
всем привет, пацаны помогите пожалуйста. Стоит laravel 5.1 нужно объект Request обработать до валидации. Какой метод вызвать? Или где можно посмотреть?
KarmaBot
@KarmaBot
Mar 02 2016 19:18 UTC
@ldarikl, здравствуй.
Anton Vorontsov
@symbios-zi
Mar 02 2016 20:15 UTC
@Big-Shark они используют симфони и ангуляр
@ldarikl как вариант получить в контроллере Request $request и делать с ним что хочешь, а уже потом отдать его валидатору
ldarikl
@ldarikl
Mar 02 2016 20:59 UTC
@symbios-zi спасибо
KarmaBot
@KarmaBot
Mar 02 2016 20:59 UTC
Спасибо (+1) для @symbios-zi принято! Текущая карма +74.