These are chat archives for LaravelRUS/chat

3rd
Mar 2016
Myroslav Zozulia
@diwms
Mar 03 2016 03:28
Ребят, а как вы разруливаете ситуацию когда есть тестовая база, база продакшена и локальная. Постоянно дампы гоняете?
Maxim
@Big-Shark
Mar 03 2016 03:38
@diwms миграции?
Myroslav Zozulia
@diwms
Mar 03 2016 03:40
@Big-Shark да, только дело в данных. миграции меняют структуру, и их можно откатить. Но что делать если там есть уже данные? + каг бы круто еще з продакшен базы тащить всегда актуальные данные
Maxim
@Big-Shark
Mar 03 2016 03:42
@diwms а че данные то? Данные нужны для разработки?
Myroslav Zozulia
@diwms
Mar 03 2016 03:43
@Big-Shark в моем случае да, чтобы пофиксить багу :)
Maxim
@Big-Shark
Mar 03 2016 03:43
@diwms ну ты либо их имитируй, либо уже дамп делай
@diwms но это редкий вариант развития событий
Myroslav Zozulia
@diwms
Mar 03 2016 03:46
@Big-Shark имитировать нельзя. там такие данные, что их очень много и они все нужные. для того что бы пофиксить.
сейчас я гоняю дампы туды сюды
думал можно как то это дело автоматизировать
ибо пока что этот кусочек дампа 150 мб, но уже можно покурить пока он заимпортиться
Роман Сохарев
@greabock
Mar 03 2016 03:49
@diwms для этого существуют "стейдж" сервера, которые являются полной репликой от продакшена
Myroslav Zozulia
@diwms
Mar 03 2016 03:50
@greabock есть у меня и такие, целых два) а что дальше?
Maxim
@Big-Shark
Mar 03 2016 03:50
@diwms а че ты их гоняешь, ты скачал себе, исправил фикс, сделал коммит и тд
Myroslav Zozulia
@diwms
Mar 03 2016 03:52
@Big-Shark ну я имею ввиду, что время от времени гоняю.. тоесть, если есть бага то я гоняю и фиксаю, иначе разрабатываю фичи и мне миграций хватает с головой.
Maxim
@Big-Shark
Mar 03 2016 03:53
@diwms вообщем это не нормальная ситуация когда ты не можешь понять что за бага и тебе нужен дамп
Myroslav Zozulia
@diwms
Mar 03 2016 03:57
@Big-Shark почему? представь что ты работаешь с финансами а конкретней с отчетом и у тебя пропало 20 баксов , причем только у одного пользователя. как ты будешь фиксить?
@Big-Shark и код не покрыт тестами.. я давно о них мечтаю и постоянно жалеюсь что их надо написать.. Но время не выделяют на это, вот у меня такая ситуация :)
Maxim
@Big-Shark
Mar 03 2016 04:11
@diwms грубо говоря ты должен зайти в админку или в логи и увидеть что 20 баксов ушли на транзакцию, платежка не дала вовремя ответ, поэтому они заморозились, и не дошли до первого потому что они не подтверждены, а у второго отнялись потому что мы не показываем не законченые транзакции, если ты не можешь получить всю эту инфу, то это проблемма админки, логов, и тд
@diwms у нас тоже такое часто, приходится разбираться, и дописывать функционал в адинке
Myroslav Zozulia
@diwms
Mar 03 2016 04:13
@Big-Shark деньги все есть, просто они не попали туда куда надо. Скажем, в документ или инвойс. И только в специфическом кейсе :) Короче, я соглашаюсь что немного не правильный подход.. Надо тестами покрывать, вот и все :(
Devalgo
@almassar
Mar 03 2016 06:29
кто нибудь работал с SleepingOwl Admin ?
JhaoDa
@jhaoda
Mar 03 2016 06:47
@almassar ты не хочешь сразу нужный вопрос задать? Или так, социологическое исследование?
Devalgo
@almassar
Mar 03 2016 06:48
@jhaoda Ошибка вылезла создал можель прописал в menu.php путь Текст ошибки Undefined index: adminModel
Ivan
@Hunternnm
Mar 03 2016 07:05
@symbios-zi цена денег? что надо?
Боброе утро!
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:12
@Hunternnm мм?
Ivan
@Hunternnm
Mar 03 2016 07:12
@symbios-zi вечером про мск спрашивал
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:12
@Hunternnm работать есть желание в москве?
full day
Ivan
@Hunternnm
Mar 03 2016 07:13
блин, далековато...
а есть время подумать?
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:13
@Hunternnm ну как бэ еще и собеседование надо пройти будет.
компания Мамба. Сайт знакомств делают.
используют symfony
D3-FC
@D3-FC
Mar 03 2016 07:15
Доброе утро день
Вопрос касательно правильно архитектуры.
Стоит ли все классы через Сервис провайдеры загружать?
Например Трасформеры, сервисы
Репозитории
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:20
@D3-FC если предполагаешь альтернативную реализацию класса то да.
D3-FC
@D3-FC
Mar 03 2016 07:20
@symbios-zi а в плане быстродействия приложения. это как-то скажется?
@symbios-zi оно ведь подгружает все класыы в момент старта
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:21
@D3-FC правильные репозитории должны грузиться через провайдеры. Потому что они могут иметь альтернативную реализацию. Сегодня Eloquent, а завтра решишь использовать доктрину.
@D3-FC в пределах погрешности, я думаю не скажется на производительности никак
D3-FC
@D3-FC
Mar 03 2016 07:22
@symbios-zi Ещё вопрос касательно патерна репозитоий
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:22
@D3-FC не вижу смысла для какого то сервисного класса городить интерфейс и провайдер если ты знаешь что реализация не изменится.
D3-FC
@D3-FC
Mar 03 2016 07:23

@D3-FC не вижу смысла для какого то сервисного класса городить интерфейс и провайдер если ты знаешь что реализация не изменится.

не в чём нельзя быть на 100% увереным) вот потому то и задумался о сервис провайдере

@symbios-zi
Есть ли более подходящий патерн под ларавел?
@symbios-zi Ещё вопрос касательно патерна репозитоий
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:23
D3-FC
@D3-FC
Mar 03 2016 07:23
:D
да в курсе
Надо табличку перед монитором вша ть:D
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:24
@D3-FC что значит более подходящий?
D3-FC
@D3-FC
Mar 03 2016 07:25
Ну может есть более элегантное решения используя фасады и сервис контейнеры
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:25
@D3-FC а что не так с репозиториями? Я вообще не рекомендую тебе использовать фассады. Их сложно тестировать. http://taylorotwell.com/response-dont-use-facades/
Достаточно брать нужный класс через dependency injection
D3-FC
@D3-FC
Mar 03 2016 07:26
@symbios-zi // а что не так с репозиториями?
Ничего. Всё так. Всё удобно. Но может есть интересней патерн. Вот задался вопросом. Решил спросить опытных людей
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:28
@D3-FC в мозгу не должны рождаться такие мысли как "интересный паттерн". Паттерн решает какую ту задачу, и нужен не для красоты а для решения задачи/проблемы.
D3-FC
@D3-FC
Mar 03 2016 07:29
@symbios-zi Понятно. Определился. Спасибо)
Вот сейчас смотрю чужой код. там всё через фасады сделано. честно говоря трудно разобраться. Так что скорее всего ты прав
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:29
Паттернов много. Использовать паттерны ради того чтобы они просто были в коде бессмысленно. Можно обложить весь проект паттернами так что сам потом не разберешься. Отсюда второй постулат: https://ru.wikipedia.org/wiki/KISS_%28%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%29
D3-FC
@D3-FC
Mar 03 2016 07:30
@symbios-zi Понятно) вобщем ещё разок спасибо что остановил вовремя)
Sergey Protko
@fesor
Mar 03 2016 07:31

там всё через фасады сделано

это про ларавельную версию "фасадов"?)

Anton Vorontsov
@symbios-zi
Mar 03 2016 07:32
@fesor да
@fesor мы вообще от них отказались, и норм. Даже понятнее все стало
Sergey Protko
@fesor
Mar 03 2016 07:32
@symbios-zi вот блин, один вред от ларавельщиков. Один (Тэйлор) искаверкал по незнанию суть паттерна "фасад", другой репозитории испортил
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:33
@fesor ну... )))
Soprun Vladislav
@vlsoprun
Mar 03 2016 07:33
Всем привет
KarmaBot
@KarmaBot
Mar 03 2016 07:33
@vlsoprun, здравствуй.
Sergey Protko
@fesor
Mar 03 2016 07:33
@symbios-zi а главное ж стадо ведется, даже не пытаются разбираться
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:34
@vlsoprun привет
Sergey Protko
@fesor
Mar 03 2016 07:35
@symbios-zi казалось бы программисты не должны быть тупыми конформистами
@symbios-zi забей, наболело
слишком много представителей культа карго в последнее время)
D3-FC
@D3-FC
Mar 03 2016 07:35
@fesor Ну если у тебя есть что сказать. не стесняйся
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:35
@fesor я думаю что не стоит так сильно заморачиваться ))) мир сам по себе не идеален
Sergey Protko
@fesor
Mar 03 2016 07:36
@symbios-zi мне не нравится позиция "а можа так и трэба"
D3-FC
@D3-FC
Mar 03 2016 07:36
@fesor Ты считаешь что фасадами стоит работать?
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:36
@fesor согласен, просто люди по наитию что первое увидели то и скопипастили. Подумать и почитать времени не хотят тратить
@D3-FC он говорит о том что это не паттерн фассад на самом деле. Некорректное название
D3-FC
@D3-FC
Mar 03 2016 07:37
@symbios-zi Ну столько понимаю)
Sergey Protko
@fesor
Mar 03 2016 07:37
@D3-FC зависит от того что ты подразумеваешь под фасадами. Если именно правильные фасады, а не эта богомерзская статика поверх IoC для организации сервис локаторов, то да, фасады это хорошо
D3-FC
@D3-FC
Mar 03 2016 07:37
@symbios-zi Имел в виду возможно есть патерн подразумевающий использование фасадов
Sergey Protko
@fesor
Mar 03 2016 07:37
@symbios-zi для этого тоже название есть - синдром утенка
@D3-FC фасад - сам по себе паттерн
@D3-FC его идея до ужаса простая - составить более простой интерфейс объекта, скрывающий использование более сложных
D3-FC
@D3-FC
Mar 03 2016 07:39
@fesor
По сути просто увеличивая читаемость
" декоратор так сказать
Sergey Protko
@fesor
Mar 03 2016 07:39
@D3-FC это плюшка, цель - скрыть сложность реализации
@D3-FC декоратор не меняет интерфейс
@D3-FC короч мое имхо, пока ты не получил полное представление о SOLID и GRASP, трогать паттерны нет смысла, ибо они являются результатом применения SOLID/GRASP принципов на практике
@D3-FC в частности если про "низкую связанность" еще кто-то что-то может рассказать, есть например "зацепление" (cohesion), у которого есть несколько видов и все это сильно влияет на то как проектировать объекты и их взаимодействие
D3-FC
@D3-FC
Mar 03 2016 07:42
@fesor Понятно спасибо
KarmaBot
@KarmaBot
Mar 03 2016 07:42
Спасибо (+1) для @fesor принято! Текущая карма +49.
JonnyBu
@serg6854
Mar 03 2016 07:47
@fesor > другой репозитории испортил
а с репозиториями что?
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:48
@fesor спорный момент в каком порядке паттерны применять на самом деле. Имхо все вместе. Иначе так и будешь топтаться и не поймешь все эти термины SOLID, и GRASP
Sergey Protko
@fesor
Mar 03 2016 07:48
@serg6854 да какой-то упоротый ларавельщик начал вещать мол "репозитории только для выборок"
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:48
ошибок в любом случае не избежать
Sergey Protko
@fesor
Mar 03 2016 07:49
@symbios-zi "паттерны" это не то что надо "применять", они у тебя просто появляются. Это "словарь", а не руководство "как делать"
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:49

да какой-то упоротый ларавельщик начал вещать мол "репозитории только для выборок"

у меня в репозиториях все методы для выборок только о_О

репозитории мои не пишут в модели данные и не содержать бизнес логики
Sergey Protko
@fesor
Mar 03 2016 07:50
@symbios-zi в программировании вообще все не как у людей. Сначала выделили общие паттерны (GoF), затем придумали принципы по которым это все делается (GRASP). SOLID - это просто комбинация принципов, некоторым из которых уже лет под 40
D3-FC
@D3-FC
Mar 03 2016 07:50
@symbios-zi @fesor Репозиторий это ведь прослойка между контроллером и модлелью.
чтобы очистить конт роллер и модель от излишнего кода
Sergey Protko
@fesor
Mar 03 2016 07:50
@D3-FC нет, репозиторий это репозиторий. Это какой-то объект, который инкапсулирует в себе логику по хранению объектов. Не выборок, а полностью отвечает за хранение.
@symbios-zi репозитории не должны "писать в модель", они должны быть "частью модели", штукой которая хранит сущности
@symbios-zi короч мое нытье сводится к "в контексте active record вам не нужен репозиторий, вам нужны файдеры"
@symbios-zi а самое дурное - это то что люди не знают что такое active record)
@symbios-zi подавляющее большинство используют active record тупо как row data gateway
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:52
@fesor да тут уже много об этом кто говорил что AR и репозиторий не нужны. Но блин я в большей степени делаю для того чтобы саму модель разгрузить и вынести все геттеры в отдельный класс. По сути тот же сервисный класс
Sergey Protko
@fesor
Mar 03 2016 07:52
@symbios-zi прекращай мыслить "классами"
@symbios-zi и прекращай использовать термин "модель" без уточнения что это за модель)
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:53
@fesor я как бы не разделяю модель от репозитория в моем случае.
Sergey Protko
@fesor
Mar 03 2016 07:53
@symbios-zi что такое модель в твоей фразе?)
@symbios-zi AR большинство юзают вот так: http://martinfowler.com/eaaCatalog/rowDataGateway.html
смотри картинку
только Person забыли
D3-FC
@D3-FC
Mar 03 2016 07:54

// инкапсулирует в себе логику по хранению объектов
@fesor
Под этой фразой разве не подразумевается выборка и работа с полученными данными.
например тебе нужно выбрать цены, произвести калькуляцию, отвалидировать результат и отослать обратно.

вот получается что код будет выглядеть примерно так

blankRepo->find(params)->calculate($params)->validate($params)->render()
Sergey Protko
@fesor
Mar 03 2016 07:54

например тебе нужно выбрать цены, произвести калькуляцию, отвалидировать результат и отослать обратно.

только за выборки

Anton Vorontsov
@symbios-zi
Mar 03 2016 07:54
@fesor ну. Как правильно?
D3-FC
@D3-FC
Mar 03 2016 07:55

например тебе нужно выбрать цены, произвести калькуляцию, отвалидировать результат и отослать обратно.

только за выборки

не понял

Sergey Protko
@fesor
Mar 03 2016 07:55
@D3-FC проще будет по интерфейсу:
interface SomeRepository {
    public function find($criteria);
    public function add(SomeEntity $entity);
    public function remove(SomeEntity $entity);
}
@D3-FC вот этот интерфейс - это минимальный интерфейс для репозитория
@D3-FC по смыслу, методы могут отличаться. Например create вместо add, и remove - зависит от бизнес логики
D3-FC
@D3-FC
Mar 03 2016 07:56
@fesor Ну а тот вариант который показал выше не правильное использование паттерна репозиторий? или всёже правильное?
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:56
@fesor ну у меня примерно так. Только add, remove в отдельном сервисном классе
Sergey Protko
@fesor
Mar 03 2016 07:57
@symbios-zi опять "сервисные классы"
Anton Vorontsov
@symbios-zi
Mar 03 2016 07:57
@fesor и что?
- Product - содержит связи и т.д. 
- ProductRepository - предоставляет доступ к данным
- ProductService - создает новые записи, бизнес логика
Sergey Protko
@fesor
Mar 03 2016 07:57
@D3-FC тут у тебя нарушен принцип единой ответственности
@symbios-zi и как ты по названию ProductService определяешь что он делает?)
D3-FC
@D3-FC
Mar 03 2016 07:59
@fesor А в чём он нарушен? Ответственность данного репозитория работа с данными модели к которой он относится. Или чего-то не понимаю?
Sergey Protko
@fesor
Mar 03 2016 07:59
@D3-FC "работа с данными модели" - так можно и в контроллер все это запихать
@D3-FC давай так, что такое "модель"
D3-FC
@D3-FC
Mar 03 2016 08:00
@fesor зеркальное отражение таблички БД в объектном представлении
Sergey Protko
@fesor
Mar 03 2016 08:00
@D3-FC а теперь иди по ссылке которую я выше кинул
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:01
@fesor что не так?
Sergey Protko
@fesor
Mar 03 2016 08:01
@D3-FC модель - это абстрактная фигня, она означает что угодно что моделирует какие-то процессы, например калькуляции
@D3-FC например вот по ссылке на картинке частью модели является объект Person, который представлен паттерном Domain Object
а "зеркальное отображение бла бла" это PersonGateway
D3-FC
@D3-FC
Mar 03 2016 08:02
@fesor Понятно
Sergey Protko
@fesor
Mar 03 2016 08:03
@D3-FC ActiveRecord - это когда мы берем PersonGateway и Person и делаем из этого один объект вместо двух
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:04
@fesor короче чувак. Ты только критикуешь. Давай напиши как бы ты это сделал
Sergey Protko
@fesor
Mar 03 2016 08:04
@D3-FC но это опять же означает, что никто кроме Person не имеет права менять состояние этого объекта напрямую
@symbios-zi что "это"?)
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:04
В среднестатистическом сайте ))) описав конкретную ситуацию ) человека ты только запутал
D3-FC
@D3-FC
Mar 03 2016 08:04
PersonGateway находится ещё метод insert и update это что значит что в модели надо реализовывать эти методы? оО
Sergey Protko
@fesor
Mar 03 2016 08:04
@symbios-zi никаких публичных свойств, protected save и delete
@D3-FC да, это ж "зеркальное отображение")
D3-FC
@D3-FC
Mar 03 2016 08:05
@fesor всегда думал что это задача репозитоия
Sergey Protko
@fesor
Mar 03 2016 08:05
@D3-FC это если ты юзаешь data mapper
@D3-FC опять же, row data gateway и репозиторий - это разные паттерны. У тебя репозиторий может дергать методы save у gateway
D3-FC
@D3-FC
Mar 03 2016 08:06
@fesor ну дак он в ларе из коробки
Sergey Protko
@fesor
Mar 03 2016 08:06
@D3-FC но в этом мало смысла и это сложно
@D3-FC кто, data mapper? издеваешься?
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:06
@fesor вот простая задача. Тебе надо создать товар и еще 2 сопутствующие модели связанные. Как ты это сделал бы? Простым способом без CQRS
D3-FC
@D3-FC
Mar 03 2016 08:07
@fesor ORM - object relation mapping конечно в лвре он на весьмо отдалённом смысле но всёже паммер
маппер*
Sergey Protko
@fesor
Mar 03 2016 08:07
@D3-FC вот об этом я и говорю. Учи матчасть.
@D3-FC ORM - это "мэппинг отношений объектов". Data mapper - это мэппинг данных на объекты
@D3-FC в ларке элоквент - это ORM используюая ActiveRecord
@symbios-zi приведи пример связанных объектов
D3-FC
@D3-FC
Mar 03 2016 08:08
@fesor Data mapper скорее тогда применим больше к java нежели в php. В java работа с объектами более нативна
Sergey Protko
@fesor
Mar 03 2016 08:09
@D3-FC ты хочешь сказать что то что я юзаю последние 4 года это "не применимо в PHP"?)
D3-FC
@D3-FC
Mar 03 2016 08:09
А ты что используешьв место eloquent?
Sergey Protko
@fesor
Mar 03 2016 08:10
@D3-FC "что ты используешь вместо laravel" скорее)
вообще doctrine2
D3-FC
@D3-FC
Mar 03 2016 08:10
доктрина это ведь просто ОРМ
Лара немногов другом месте позицианируется
разве нельзя использовать доктрину вместе с ларой
Sergey Protko
@fesor
Mar 03 2016 08:11
@D3-FC пофиг, можно доктрину с ларавелью использовать
@D3-FC мы сейчас про "просто ORM"
давай рассмотрим вот эти "просто ORM" по паттернам, которые там используются
eloquent - ORM + Active Record
doctrine - ORM + Data Mapper + Unit-of-Work + Repository + EntityManager
D3-FC
@D3-FC
Mar 03 2016 08:12
Тогда вопрос 2 возвращаясь к Eloquent. Используя именно Eloquent и патерн репозиторий
Правильно ли делаю
blankRepo->find(params)->calculate($params)->validate($params)->render()
Maxim
@Big-Shark
Mar 03 2016 08:13
@fesor а ты не знаешь что такое пропел? это просто АР?
@D3-FC боже мой, нет
Sergey Protko
@fesor
Mar 03 2016 08:13
@Big-Shark сейчас уже не уверен) вторая версия вроде тоже с unit of work
@Big-Shark но по сути принципиальная разница между data mapper и active record/row data gateway - кто отвечает за сохранение/вставку
Maxim
@Big-Shark
Mar 03 2016 08:14
@fesor не, там нет unit of work, но там есть рекурсивное сохранения объекта с его связями
Sergey Protko
@fesor
Mar 03 2016 08:14
@Big-Shark ну так это уже аспект ORM по идее
@Big-Shark вроде ж в 2.0 хотели добавить UoW
Maxim
@Big-Shark
Mar 03 2016 08:14
@fesor там отвечает модель, то есть ар получается
@fesor ну там есть ветка котрая называется датамаппер, но она насколько перепиленая, что ее просто забили
Sergey Protko
@fesor
Mar 03 2016 08:15
@Big-Shark блин жалко... когда я в последний раз смотрел - это могло стать достойной альтернативой доктрине, для проектов попроще
Maxim
@Big-Shark
Mar 03 2016 08:15
@fesor точней там было все немного глупо, мейнтейнер решил что надо все переписать, писал, писал, и устал писать, она вроде работает, но нет доки и прочего)
Sergey Protko
@fesor
Mar 03 2016 08:16
@Big-Shark ну мэйнтейнер там стремный это да
Maxim
@Big-Shark
Mar 03 2016 08:16
@fesor да, там были крутые штуки
@fesor там были до этого 2 очень крутых мейнтейнера
Sergey Protko
@fesor
Mar 03 2016 08:16
психани и сделай православную AR)
Maxim
@Big-Shark
Mar 03 2016 08:16
@fesor уже есть идея сделать православный дм)
Sergey Protko
@fesor
Mar 03 2016 08:16
@Big-Shark так уже же есть
Maxim
@Big-Shark
Mar 03 2016 08:17
@fesor доктрина? Нее..
Sergey Protko
@fesor
Mar 03 2016 08:17
@Big-Shark оно конечно не оч прикольно, но лучше нет и вряд-ли кто-то сделает что-то лучше
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:17

@fesor простая задача:

// 3 модели
- Product, 
- SKU,
- SEO

как удобно организовать структуру

Maxim
@Big-Shark
Mar 03 2016 08:17
@fesor там слишком много фигни которую я бы не горел желанием видеть в проекте, и есть вещи которые мне кажется должны быть другими)
Sergey Protko
@fesor
Mar 03 2016 08:18
@symbios-zi 3 сущности, а не модели
ну да несуть
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:19
@fesor так. 3 сущности
Sergey Protko
@fesor
Mar 03 2016 08:19
$product = Product::create(
    $sku,
    ProductDetails::create(),
    SeoMetadata::create('title', 'description')
)
ну то есть, просто что бы был один вызов статического метода фабрики
и не париться
@symbios-zi вообще все зависит от бизнес правил и ограничений, которые надо соблюдать при создании объектов
Maxim
@Big-Shark
Mar 03 2016 08:20
@fesor а почему не new Product(...) ?
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:21
@fesor инфраструктурно как бы реализовать. Все геттеры в классе Product?
Sergey Protko
@fesor
Mar 03 2016 08:21
@Big-Shark я в последнее время почти всегда делаю приватные конструкторы
@symbios-zi никаких геттеров пока они не понадобились
Maxim
@Big-Shark
Mar 03 2016 08:21
@fesor разница?
Sergey Protko
@fesor
Mar 03 2016 08:21
@Big-Shark потому что PHP не умеет перегрузку конструктора
@Big-Shark представь что у тебя есть такая бизнес логика:
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:23
короче я сливаюсь. Буду делать как умею. Воспринять инфу не получается ))))
Sergey Protko
@fesor
Mar 03 2016 08:23
@symbios-zi потому что ты не пытаешься даже взглянуть на вещи подругому
D3-FC
@D3-FC
Mar 03 2016 08:23
@symbios-zi аналогично. ещё не дорос видимо.
Sergey Protko
@fesor
Mar 03 2016 08:23
@Big-Shark короч бывают случаи когда есть разные сценарии создания объектов, и для каждого из них свои "обязательные" данные
D3-FC
@D3-FC
Mar 03 2016 08:24
надо поболше книжечек почитать чтобы понять всё это
Sergey Protko
@fesor
Mar 03 2016 08:24
@D3-FC фаулера почитай
D3-FC
@D3-FC
Mar 03 2016 08:24
записал
Maxim
@Big-Shark
Mar 03 2016 08:24
@fesor дада, это я вкурсе, но вроде как типа по дефолтку как раз тот вариант что ты написал и должен быть через new, а остальные приходить уже к нему както преобразуя данные
Sergey Protko
@fesor
Mar 03 2016 08:24
а вообще TDD спасет мир
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:24
@D3-FC больше кода пиши и думай и придет. Просто прочитать книги это хрень полная
D3-FC
@D3-FC
Mar 03 2016 08:24
а DDD
,
?
@fesor
Sergey Protko
@fesor
Mar 03 2016 08:25
@D3-FC DDD не всегда надо
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:26
@fesor в общем я так посыл всего разговора так и не понял. Может кто то другой мне скажет
пришли в общем то к выводу что вы все ларавельщики мудаки, испортили все )))
D3-FC
@D3-FC
Mar 03 2016 08:26
@fesor иногда кажется что не надо.
Но горизонтальную маштабируемость всегда надо учитывать
Sergey Protko
@fesor
Mar 03 2016 08:27
@symbios-zi посыл простой - задавай вопросы, старайся понимать какими терминами ты оперируешь, когда изучаешь какие-то вещи - изучай как вообще до них дошли, мол придумали вот active record - а зачем, как к этой мысли пришли и какие задачи пытались решить
@D3-FC причем тут "горизинтальная масштабируемость" в контексте DDD?)
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:27
@fesor вопрос начался об инфраструктуре, а закончился хз чем
Sergey Protko
@fesor
Mar 03 2016 08:28
@symbios-zi вопрос начался об "паттернах", и о том что люди бездумно их заучивают, а отдельные бездумные люди их переиначивают
@symbios-zi и большинство разработчиков хавает этот бред не задавай вообще никаких вопросов
@symbios-zi просто принимая на веру
типа религии, один проповедник начал вещать и народ слушает, и даже не сомневается
ни доказательств, ни обоснований
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:29
@fesor в общем ты за то что надо толстые AR модели делать?
или что
Sergey Protko
@fesor
Mar 03 2016 08:29
@symbios-zi да
D3-FC
@D3-FC
Mar 03 2016 08:29
@fesor Ну вот ты думаешь что тебе не придётся делить на области ответственности потому что у тебя всего то есть юзеры и статьи. Но ты же не можешь знать на перёд что теюе не понадобится, например, газеты, новости и так далее.
Потом решишь отделить фронт от бэка, сделать их изолированными и вообще на разных серверах, открутить базу, перенести на третий сервак.
и тут ты понимаешь что всё переделывать придётся
Sergey Protko
@fesor
Mar 03 2016 08:29
@symbios-zi я против "анемичных моделей"
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:29
@fesor в итоге класс 5000 строк
и попробуй разобраться
Sergey Protko
@fesor
Mar 03 2016 08:30
@symbios-zi может быть просто ты не умеешь готовить толстые AR?)
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:30
@fesor что мне мешает толстую модель раскидать но более маленькие составляющие и в чем проблема я так и не понял
Sergey Protko
@fesor
Mar 03 2016 08:30
@symbios-zi ты же понимаешь что если у тебя файл разростается - надо дробить объект, проводить декомпозицию задачи и т.д.
@symbios-zi проблемы нет, просто не надо напрямую состояние модели менять
@symbios-zi никаких сеттеров, никаких "публичных свойств", ничего такого не должно быть
D3-FC
@D3-FC
Mar 03 2016 08:31
@fesor всё же кажется ddd более жизнеустойчивый подход
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:31
ладно, приду к этому. Не могу понять что имеешь ввиду не столкнувшись видимо с проблемами о которых ты говоришь
Sergey Protko
@fesor
Mar 03 2016 08:32
@D3-FC суть DDD - Предметно-ориентированного проектирования - управление сложностью. Единый язык, правильное ООП, агрегаты, корни агрегатов
D3-FC
@D3-FC
Mar 03 2016 08:32
Предметно-ориентированного проектирования это разве не тоже что и область ответственности?
Sergey Protko
@fesor
Mar 03 2016 08:32
@symbios-zi да блин чувак, это ООП называется. Объекты, скрывающие состояния, взаимодействие объектов посредствам отправки сообщений между ними
D3-FC
@D3-FC
Mar 03 2016 08:33
@fesor Предметно ориентированное - тоесть каждый объект это сущность
Sergey Protko
@fesor
Mar 03 2016 08:33
@D3-FC не совсем, область ответственности это область ответственности. DDD из того что ты описал чисто теоритически может помочь тебе разграничить контексты
D3-FC
@D3-FC
Mar 03 2016 08:33
со своей областью
Sergey Protko
@fesor
Mar 03 2016 08:33
@D3-FC нет, "предметно ориентированность" - это значит "предметная область главная, все остальное второстепенно"
D3-FC
@D3-FC
Mar 03 2016 08:34
понятно. Ладно отступаю под натиском авторитета:) Дела зовут
Sergey Protko
@fesor
Mar 03 2016 08:34
@D3-FC короч DDD это оч сложно, "микросервисы" и т.д. это попроще будет. Те же микросервисы могут помочь в контексте DDD дробить приложение на зоны ответственности и определять границы контекстов
но само по себе DDD можно свести только к одной простой идее - оперировать терминами предметной области, использовать единый язык в коде
Anton Vorontsov
@symbios-zi
Mar 03 2016 08:35
@D3-FC :D
Sergey Protko
@fesor
Mar 03 2016 08:35
@D3-FC да мне тож бежать уже надо)
D3-FC
@D3-FC
Mar 03 2016 08:35
Понятно. Спасибо за информацию было полезно пообщаться @symbios-zi @fesor
Sergey Protko
@fesor
Mar 03 2016 08:35
@D3-FC спасибо за минихоливар)
KarmaBot
@KarmaBot
Mar 03 2016 08:35
Спасибо (+1) для @D3-FC принято! Текущая карма +5.
YakAna
@YakAna
Mar 03 2016 08:47
Всем привет! Как ускорить Laravel 4.2 (MongoDB Eloquent) + MongoDB ? Приложение тестировали на 50 человек, обычный sinpup занимает 2,7 сек? Кто-о работал с этой связкой? Может есть какие идеи? Были добавлены индексы, но эффекта от них особого нет... была попытка перейти на Doctrine MongoDB - она показала результаты хуже, чем Laravel
KarmaBot
@KarmaBot
Mar 03 2016 08:47
@YakAna, привет =)
Maxim
@Big-Shark
Mar 03 2016 08:54
@YakAna омг, все сразу стало супер понятно
NoViKoFF
@AndrewNovikof
Mar 03 2016 08:54
@YakAna пример запроса кинь
который на 2.7 сек
Maxim
@Big-Shark
Mar 03 2016 09:07
карма
KarmaBot
@KarmaBot
Mar 03 2016 09:07
@Big-Shark, Ваша карма +700. Вы благодарили 133 раз.
- Достижения: "Находчивый", "Любитель сладкого", "Благодетель", "Благодарный", "Нахлебник", "Рэмбо", "Вопрошайка"
- Профиль Big-Shark на laravel.su
Victor Golovko
@siptik
Mar 03 2016 09:08
Привет всем. Хорошего рабочего дня
KarmaBot
@KarmaBot
Mar 03 2016 09:08
@siptik, здравствуй.
Alexander
@Dualse
Mar 03 2016 09:09
@Big-Shark Скоро 1000 будет и специально для тебя придумают ачивку
Oleg
@tremor-od
Mar 03 2016 09:15
всем привет, скажите а есть более элегантный способ
Product::select(['products.*', 'articles_texts.text_ru as text'])
можно както не указывая повторно таблицу в селекте и джоине обращаться к полям?
KarmaBot
@KarmaBot
Mar 03 2016 09:15
@tremor-od, здравствуй.
Maxim
@Big-Shark
Mar 03 2016 09:16
@tremor-od а доку читал?
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:21
@tremor-od Если запрос с джоином, нужно указывать...ORM не ясновидящая)
Oleg
@tremor-od
Mar 03 2016 09:25
@AndrewNovikof та я вот думал может есть какойто способ указывать имя модели вместо таблицы, так было бы уже поудобнее
Victor Golovko
@siptik
Mar 03 2016 09:26
@tremor-od ну так сделайте константу в моделе или определите метод, который будет возращать имя таблицы
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:26
@tremor-od не усложняй)
Oleg
@tremor-od
Mar 03 2016 09:27
@AndrewNovikof ясно, спасибо)
KarmaBot
@KarmaBot
Mar 03 2016 09:27

Находчивый

@AndrewNovikof, вы выполнили условие: "Набрать 10 кармы.".
С чем и поздравляем =)
Находчивый
Спасибо (+1) для @AndrewNovikof принято! Текущая карма +10.
Oleg
@tremor-od
Mar 03 2016 09:28
@siptik та метод это тож самое что и имя самой таблицы писать
Soprun Vladislav
@vlsoprun
Mar 03 2016 09:29
@AndrewNovikof Грац!
Victor Golovko
@siptik
Mar 03 2016 09:29
Ну почему, в IDE подсказка будет
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:32
@vlsoprun спасибо) пока не с чем...это больше позорная ачивка)))
KarmaBot
@KarmaBot
Mar 03 2016 09:32
Спасибо (+1) для @vlsoprun принято! Текущая карма +101.
Soprun Vladislav
@vlsoprun
Mar 03 2016 09:34
@AndrewNovikof Позорная?! Ты помог решить проблему людям, за что они были тебе благодарны :smile:
Ivan
@Hunternnm
Mar 03 2016 09:34
карма
KarmaBot
@KarmaBot
Mar 03 2016 09:34
@Hunternnm, Ваша карма +101. Вы благодарили 131 раз.
- Достижения: "Находчивый", "Благодарный", "Нахлебник", "Любитель сладкого", "Вопрошайка", "Благодетель"
- Профиль Hunternnm на laravel.su
Soprun Vladislav
@vlsoprun
Mar 03 2016 09:35
Вот не очень..
Полный паразец!
Сказать 10 раз "спасибо" не имея ни единой благодарности.
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:35
@vlsoprun :smile:
Юрий
@sawerus
Mar 03 2016 09:36
Привет всем
KarmaBot
@KarmaBot
Mar 03 2016 09:36
@sawerus, и тебе привет ;)
Soprun Vladislav
@vlsoprun
Mar 03 2016 09:36
@sawerus привет
Юрий
@sawerus
Mar 03 2016 09:36
че кармами меряетесь? ))
Ваня Devium
@webdevium
Mar 03 2016 09:37
по старинке не получается. Все друг от друга далеко))))))))
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:37
А у нас не такое уж и большое сообщество...10 кармы получили только 83 человека
Юрий
@sawerus
Mar 03 2016 09:37
карма
KarmaBot
@KarmaBot
Mar 03 2016 09:37
@sawerus, Ваша карма +18. Вы благодарили 48 раз.
- Достижения: "Благодарный", "Находчивый"
- Профиль sawerus на laravel.su
Ваня Devium
@webdevium
Mar 03 2016 09:37
карма
KarmaBot
@KarmaBot
Mar 03 2016 09:37
@webdevium, Ваша карма +3. Вы благодарили 8 раз.
- Профиль webdevium на laravel.su
Victor Golovko
@siptik
Mar 03 2016 09:37
карма
KarmaBot
@KarmaBot
Mar 03 2016 09:37
@siptik, Ваша карма +32. Вы благодарили 24 раз.
- Достижения: "Находчивый", "Благодарный"
- Профиль siptik на laravel.su
Ваня Devium
@webdevium
Mar 03 2016 09:37
я маляффка(((
Юрий
@sawerus
Mar 03 2016 09:38
да 3-ое последних все дрищи! Че там ))
Soprun Vladislav
@vlsoprun
Mar 03 2016 09:38
@jhaoda ну ка.. покажи кто тут батя :)
Ваня Devium
@webdevium
Mar 03 2016 09:38
по пятку карма?)))

Мужики, вопрос по моделям в 4.2: во всем проекте было соотношение один к одному товар-категория

Во всех запросах, то ли orm, то ли qb, было where('category_id', '=', $category->id) и т.д.

Теперь нужно сделать один ко многим. Какой наименее ресурсоемкий подход выбрать, куда смотреть.
Сноска: всего таких 62 запроса на весь проект. Архитектуру НЕ я завелосипедил.

Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:43
Последнее предложение молодец что написал =)
Юрий
@sawerus
Mar 03 2016 09:43
@SerafimArts а ты уже кинжалы навострил ))))
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:44
Ога)))))
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:45
@webdevium where('category_id', '=', $category->id) для один ко многим вполне сойдет
@webdevium единственное можно связь прописать
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:46
@AndrewNovikof не сойдет
Нет жадной загрузки
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:47
@webdevium
    public function category()
    {
        return $this->HasMany(Category::class, 'category_id');
    }
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:47
В результате на коллекцию из 10 элементов 11 запросов
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:47
@SerafimArts хм
Ваня Devium
@webdevium
Mar 03 2016 09:49
оу оу, полегче, я пропустил ответы на мой вопрос))
VadimDraganyuk
@VadimDraganyuk
Mar 03 2016 09:49

В результате на коллекцию из 10 элементов 11 запросов

А разве с использованием with не будет один запрос с in(1,2,3 ....)?

Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:50
@AndrewNovikof это о работает только со связями
И не будет работать с where
Orion55
@orion55
Mar 03 2016 09:50
Всем привет!
KarmaBot
@KarmaBot
Mar 03 2016 09:50
@orion55, привет, как настроение?
Orion55
@orion55
Mar 03 2016 09:50
@KarmaBot привет
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:50
@SerafimArts этого не знал...уже начал сомневаться в себе)
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:51
Ну как бы это очевидно, не?
Ваня Devium
@webdevium
Mar 03 2016 09:51
$city->products()
                ->where('category_id', $category->id)
                ->where('starts_at', '<=', date('Y-m-d'))
                ->where('expires_at', '>=', date('Y-m-d'))
                ->where('archive', '0')
                ->whereNotIn('products.id', $full_unlocked)
                ->get();
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:52
А продуктс это что?
Ваня Devium
@webdevium
Mar 03 2016 09:52
товары
NoViKoFF
@AndrewNovikof
Mar 03 2016 09:52
@webdevium в products еще одну связь сделай
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:52
Связь т.е.?
Тогда тебе ещё одна нужна для продуктс категориес
Ваня Devium
@webdevium
Mar 03 2016 09:53
запрос:
берем все товары в городе, фильтруем по категории, дате начала и конца и НЕ архивные и блаблабла
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:53
А, не, всё там ок
Ваня Devium
@webdevium
Mar 03 2016 09:54
если добавлю несколько категорий, какое условие использовать, whereHas?
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 09:54
@webdevium если тебе хочется почище запросы надо смотреть в сторону скоупов
Ваня Devium
@webdevium
Mar 03 2016 09:55
я вот читал читал про них, но разницу между scope и просто методом в модели так и не понял
вот допустим живой пример с товара:
public function stores()
    {
        return $this->belongsToMany('Store', 'product_store');
    }

    public function storesExcluded()
    {
        return $this->belongsToMany('Store', 'product_store')->with('city_id')->where('excluded', '=', '1');
    }
storesExcluded() тут являются скоупом, или просто фильтром?
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 10:01
Это связь
Orion55
@orion55
Mar 03 2016 10:01
какой сервис, кроме пастлебин, чтобы выложить исходники?
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 10:01
@orion55 гитхаб гист
Orion55
@orion55
Mar 03 2016 10:01
@SerafimArts спасибо :-)
KarmaBot
@KarmaBot
Mar 03 2016 10:01
Спасибо (+1) для @SerafimArts принято! Текущая карма +285.
VadimDraganyuk
@VadimDraganyuk
Mar 03 2016 10:02
@webdevium
$city->products()
                 ->whereHas('category', function ($subQuery) {
                    $subQuery->whereRaw("product_id = `products`.`id` ");
                })
                ->where('starts_at', '<=', date('Y-m-d'))
                ->where('expires_at', '>=', date('Y-m-d'))
                ->where('archive', '0')
                ->whereNotIn('products.id', $full_unlocked)
                ->get();
@webdevium как вариант) Только нужно смотреть какие связи
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 10:03
Еще один)))
VadimDraganyuk
@VadimDraganyuk
Mar 03 2016 10:03
@SerafimArts Не правильно?)
YakAna
@YakAna
Mar 03 2016 10:04
@AndrewNovikof http://pastebin.com/bcMYh4nS пример запроса по связке Ларавель + Монга
Orion55
@orion55
Mar 03 2016 10:05
Покритикуйте код https://gist.github.com/orion55/cacd2c7a336be02840d7
YakAna
@YakAna
Mar 03 2016 10:05
@AndrewNovikof так конечно еще проходит валидацию юзер и есть свои мидлваре... но сам запрос выше кинула
Юрий
@sawerus
Mar 03 2016 10:06
ссылку в код заверни
Ваня Devium
@webdevium
Mar 03 2016 10:06
$city->products()
                 ->whereHas('category', function ($subQuery) {
                    $subQuery->whereRaw("product_id = `products`.`id` ");
                })
так то значит мне надо в whereHas товар прокидывать, а не категорию, так получается?
NoViKoFF
@AndrewNovikof
Mar 03 2016 10:09
@YakAna заюзай https://github.com/barryvdh/laravel-debugbar, узнаешь где именно у тебя узкие места
VadimDraganyuk
@VadimDraganyuk
Mar 03 2016 10:10
@webdevium Если у тебя belongsTo связи можно еще сделать join по ним используя https://github.com/sleeping-owl/with-join
$city->products()->with('category')->references('category')->whereRaw('category_id'=`categories`.`id`')->get();
Ваня Devium
@webdevium
Mar 03 2016 10:12
@VadimDraganyuk спасибо, буду глядеть в ту сторону
KarmaBot
@KarmaBot
Mar 03 2016 10:13
Спасибо (+1) для @VadimDraganyuk принято! Текущая карма +3.
Ваня Devium
@webdevium
Mar 03 2016 10:13
@SerafimArts спасибо
KarmaBot
@KarmaBot
Mar 03 2016 10:13
Спасибо (+1) для @SerafimArts принято! Текущая карма +286.
Orion55
@orion55
Mar 03 2016 10:15
Народ, всё-таки покритикуйте код https://gist.github.com/orion55/cacd2c7a336be02840d7
@SerafimArts великий гуру, покритикуй
Alexander
@Dualse
Mar 03 2016 10:16
@orion55 Нравится делать валидацию прям в контроллере?
Maxim
@Big-Shark
Mar 03 2016 10:17
@orion55 Что такое логер контроллер? ПОчему это он контроллер?
Orion55
@orion55
Mar 03 2016 10:17
@Big-Shark потому что я не понял сервис-контейнеры :-(
@Dualse а как нужно?
Maxim
@Big-Shark
Mar 03 2016 10:18
@orion55 а он тут причем? и perPage это контанта а не переменная
Orion55
@orion55
Mar 03 2016 10:19
@Big-Shark а константа переменной не является?
Maxim
@Big-Shark
Mar 03 2016 10:19
@orion55 ну как бы нет
@orion55 $request->closedate1, снова эта 1
Orion55
@orion55
Mar 03 2016 10:19
@Dualse т.е. в отдельный класс вынести?
@Big-Shark исправлю
Alexander
@Dualse
Mar 03 2016 10:21
@orion55 Ну вроде того
Maxim
@Big-Shark
Mar 03 2016 10:23
@orion55 ну как тебе сказать, лучше чем было, хуже чем может быть
Orion55
@orion55
Mar 03 2016 10:24
@Big-Shark а как может быть?
Maxim
@Big-Shark
Mar 03 2016 10:24
@orion55 наверное на 3 с натяжкой по 5 бальной шкале.
Orion55
@orion55
Mar 03 2016 10:24
@Big-Shark а на 5 что нужно сделать?
Maxim
@Big-Shark
Mar 03 2016 10:25
@orion55 имена более разумные, некоторый трай и кетч убрать, некоторые заменить, логер поменять на ди, то что ты назвал депозит модел больше похоже на репозиторий, но обмен должен быть объектами а не массивами.
@orion55 почему все лежит в папке контроллер, тоже непонятно
Orion55
@orion55
Mar 03 2016 10:27
@Big-Shark т.е. промежуточные объекты в виде ассоциативных массивов создавать для обмена?
Maxim
@Big-Shark
Mar 03 2016 10:27
@orion55 создавать обьекты, типа ентите
@orion55 может тебе доктрину взять, там вроде оракал есть, и dql есть
Orion55
@orion55
Mar 03 2016 10:27
@Big-Shark ентите?
Anonim-khb
@Anonim-khb
Mar 03 2016 10:28
Всем привет. Использовал карусель и наткнулся на метод Responsive Display в ПРИМЕРАХ.
Никто не встречал плагина отдельно, чтобы как тут указывать зависимости, например: до 1200px - 4 col., до 900px - 3 col. и т.д..
KarmaBot
@KarmaBot
Mar 03 2016 10:28
@Anonim-khb, здравствуй.
Maxim
@Big-Shark
Mar 03 2016 10:28
@orion55 обьекты бизнес логики, скажем так
@YakAna а кто вам вообще сказал что проблема в монге, и именно в этом куске кода?
saori
@saorityan
Mar 03 2016 10:30
@orion55 $this->logger->addError($e->getMessage()); логирует только месседж же
@orion55 логируй весь трейс
Maxim
@Big-Shark
Mar 03 2016 10:31
@saorityan ты до этого пропустил самое интересное

@saorityan

} catch (Exception $e) {
            $this->oracleConnect->rollBack();
            throw new ChangeSumDeponException('Not Change Sum Depon!');
 }

Смотри что там в меседже)

Orion55
@orion55
Mar 03 2016 10:31
@saorityan хм...
@Big-Shark а что там писать?
Maxim
@Big-Shark
Mar 03 2016 10:32
@orion55 ок, у нас случилась ошибка допустим в том что мы передаем не верное количество параметров, и что мы будем видеть 'Not Change Sum Depon!', отлично, нам это сильно поможет
@orion55 ты вообще не понимаешь как работают эксепшены
Orion55
@orion55
Mar 03 2016 10:33
@Big-Shark а где посмотреть как они работают?
saori
@saorityan
Mar 03 2016 10:33
@orion55 $this->logger->addError('твое сообщение или что то', ['exception' => (string) $e])
как то так делаю
Orion55
@orion55
Mar 03 2016 10:33
@saorityan спасибо
KarmaBot
@KarmaBot
Mar 03 2016 10:33

Благодарный

@orion55, вы выполнили условие: "Высказать 20 благодарностей.".
С чем и поздравляем =)
Благодарный
Спасибо (+1) для @saorityan принято! Текущая карма +5.
Maxim
@Big-Shark
Mar 03 2016 10:33
@orion55 без понятия
saori
@saorityan
Mar 03 2016 10:33
хД
YakAna
@YakAna
Mar 03 2016 10:35
@Big-Shark проблема в скорости
Maxim
@Big-Shark
Mar 03 2016 10:36
@YakAna фейспалм, а вы программист, или менеджер какой-то?
saori
@saorityan
Mar 03 2016 10:36
@orion55 кстати в Psr\Log\LoggerInterface нету метода addError. косяк)
YakAna
@YakAna
Mar 03 2016 10:37
@Big-Shark ПРОГЕР
Maxim
@Big-Shark
Mar 03 2016 10:38
@YakAna так я как прогер прогера спрашиваю, как деагностировать что проблемма в этом месте, и замеры по скорости сколько выполняется сам запрос в монге, и сколько весь скрипт.
@YakAna сколько запросов на страницу, и тд
Orion55
@orion55
Mar 03 2016 10:41
@Big-Shark через отладчик?
Maxim
@Big-Shark
Mar 03 2016 10:42
@orion55 что через отладчик?
saori
@saorityan
Mar 03 2016 10:42
@orion55 в этом случае всегда заполняй previousException. это опциональный третий параметр
} catch (Exception $e) {
            $this->oracleConnect->rollBack();
            throw new ChangeSumDeponException('Not Change Sum Depon!');
 }
я про это
NoViKoFF
@AndrewNovikof
Mar 03 2016 10:45
@YakAna заюзай https://github.com/barryvdh/laravel-debugbar, узнаешь где именно у тебя узкие места
@YakAna выясни сначала в чем проблема
Orion55
@orion55
Mar 03 2016 10:46
@saorityan спасибо
KarmaBot
@KarmaBot
Mar 03 2016 10:46
Спасибо (+1) для @saorityan принято! Текущая карма +6.
YakAna
@YakAna
Mar 03 2016 10:48
@AndrewNovikof уже ставлю... но я замеряла микротаймом... и сравнивала выполнение запроса через натив драйвер в cli и в самом фреймворке через eloquent
Maxim
@Big-Shark
Mar 03 2016 10:49
@YakAna и какая была разница? сколько череpз кли?
YakAna
@YakAna
Mar 03 2016 10:49
@Big-Shark blob
Maxim
@Big-Shark
Mar 03 2016 10:50
@YakAna какой запрос генерит элоквоент?
YakAna
@YakAna
Mar 03 2016 10:50
@Big-Shark это тест в один поток на 10000 запросов
Orion55
@orion55
Mar 03 2016 10:50
@YakAna слушай в монго, есть индексы на json, как в постгрии?
Maxim
@Big-Shark
Mar 03 2016 10:50
@YakAna эмм, а зачем тестить 10к запросов?
YakAna
@YakAna
Mar 03 2016 10:51
@orion55 ииндексы ставила - эффекта не дали практически
Maxim
@Big-Shark
Mar 03 2016 10:51
@orion55 омг, монга вся из джесон, и там есть куча разных индексов, но они очень своеобразны
YakAna
@YakAna
Mar 03 2016 10:51
@Big-Shark что бы видеть разницу...)
Orion55
@orion55
Mar 03 2016 10:51
@YakAna а jsonb?
Maxim
@Big-Shark
Mar 03 2016 10:52
@YakAna эммм, а как запускались 10к запросов, вместе с фреймверкок через ab?
Orion55
@orion55
Mar 03 2016 10:52
@Big-Shark может постгри потестировать или оракл там тоже json есть
Maxim
@Big-Shark
Mar 03 2016 10:52
@orion55 смысл? Может просто научится готовить инструмент которым пользуешься?
YakAna
@YakAna
Mar 03 2016 10:53
@Big-Shark ставила микротайм... а потом уже нагрузочное тестирование было с помощью JMETER
Maxim
@Big-Shark
Mar 03 2016 10:54
@YakAna боже ты мой, мы на одном языке говорим? Какой запрос генерит элоквоент, какой запрос выполнялся в консоли?
YakAna
@YakAna
Mar 03 2016 10:55
@Big-Shark логично что один и тот же... только в консоле через MongoClient
Maxim
@Big-Shark
Mar 03 2016 10:56
@YakAna сколько сам запрос выполняется в ларавель через элоквоент?
YakAna
@YakAna
Mar 03 2016 10:57
@Big-Shark 7,6 ms - один раз один запрос... такой же запрос через MongoClient - 0.02 ms
Maxim
@Big-Shark
Mar 03 2016 10:58
@YakAna 7 миллисекунд, ну это не очень и много если говорить про 2.5 секунды на ответ сервера
NoViKoFF
@AndrewNovikof
Mar 03 2016 11:00
@YakAna это 0,007 секунды
Дмитрий Гегеня
@gegenya-dmitry
Mar 03 2016 11:12
добрый день, может кто подскажет почему могут не работать связи в моделях, например на одном сервере $user->phone() получает объект, на втором получаем null, данные в таблице одинаковы
KarmaBot
@KarmaBot
Mar 03 2016 11:12
@gegenya-dmitry, привет, как настроение?
Victor Golovko
@siptik
Mar 03 2016 11:13
@gegenya-dmitry вы уверены, что они одинаковые?
Дмитрий Гегеня
@gegenya-dmitry
Mar 03 2016 11:14
полностью
загружаются из одного источника
Victor Golovko
@siptik
Mar 03 2016 11:14
и копии проекта тоже одинаковые на двух серверах?
Дмитрий Гегеня
@gegenya-dmitry
Mar 03 2016 11:15
да
Victor Golovko
@siptik
Mar 03 2016 11:16
посмотрите как выполняются запросы на том сервере на котором неправильно идет выборка
Maxim
@Big-Shark
Mar 03 2016 11:17
@gegenya-dmitry сравни запросы которые выполнятся, тутже глянь что консоль мускула вернет на этот запрос на разных серваказ
Victor Golovko
@siptik
Mar 03 2016 11:17
попробуйте вручную получить нужные данные теми же запросами
Maxim
@Big-Shark
Mar 03 2016 11:28
хмм, интересно, пишу public function changeStatus() : self запускаю тесты и получаю ошибку вот в этой строке
$transaction = m::mock(Transaction::class, [
            'isStatusCompleted'  => $isStatusCompleted,
            'isStatusPending'    => $isStatusPending,
            'isTypeBankTransfer' => $isTypeBankTransfer,
            'getAmount'          => 100
        ])->shouldDeferMissing();
Вопрос, кто какие варианты решения знает?
Romeo
@webds
Mar 03 2016 12:36
Добрый день всем. Подскажите пожалуйста или может ссылку на статью о том как правильно написать Сервис провайдер который станет прослойкой между view и выдачей браузеру кода. Я так и не нашел... как это сделать. По сути мне нужно получить уже сформированный код страницы, который возвращает в контролерах view. Return View('код страницы');
KarmaBot
@KarmaBot
Mar 03 2016 12:36
@webds, привет, как настроение?
Victor Golovko
@siptik
Mar 03 2016 12:37
@webds а в контроллере получить код страницы?
Orion55
@orion55
Mar 03 2016 12:37
@webds https://gist.github.com/greabock/02c13c428304c5ce9ec4
aleserche
@Aleserche
Mar 03 2016 12:39
как вы считаете, считается ли плохим тоном использовать простые скрипты на лендингах?
без всяких кмс и фреймворков
Victor Golovko
@siptik
Mar 03 2016 12:39
@Aleserche не вижу проблем
Orion55
@orion55
Mar 03 2016 12:40
@Aleserche а как без скриптов? форму с заявкой на email как без скрипта отправишь?
Alexander
@Dualse
Mar 03 2016 12:40
@orion55 Ты не понял вопроса
aleserche
@Aleserche
Mar 03 2016 12:40
я и говорю, простые скрипты
которые тупо апи дают и все
там функций 5-6 будет максимум
Victor Golovko
@siptik
Mar 03 2016 12:41
@Aleserche тут главное чтобы безопасно было
Romeo
@webds
Mar 03 2016 12:41
@siptik В контроллере могу получить - это не проблема. Другое дело - я код хочу еще обрабатывать до вывода. И думал создать одну общею точку входа в мой метод обработки данных со всех контроллеров. Чтобы не писать в каждом контроллере что то типа такого return myMethod->run( view('код старницы') )
aleserche
@Aleserche
Mar 03 2016 12:41
@siptik через композер вытяну валидаторы и санитайзеры
Alexander
@Dualse
Mar 03 2016 12:41
@webds А для чего это надо?
Victor Golovko
@siptik
Mar 03 2016 12:41
ну и непарься!
@Aleserche
aleserche
@Aleserche
Mar 03 2016 12:42
а то я смотрю, на простецкий лендинг народ чуть ли не битрикс готов поставить
Victor Golovko
@siptik
Mar 03 2016 12:42
по сути фреймворк и есть сборка которая подтягивается с помощью композер
Alexander
@Dualse
Mar 03 2016 12:43
@Aleserche Ну скорее всего они так делают, потому-что вообще кодить не умеют, а только ставить cms
Orion55
@orion55
Mar 03 2016 12:43
@Aleserche народ разводит клиента на деньги, битрикс ведь далеко не бесплатный
@Aleserche и ещё зависит от квалификации, кто этот лендинг поддерживать будет - если человек хорошо знает html\css\js\php - тогда можно простейший
aleserche
@Aleserche
Mar 03 2016 12:45
ну. Да просто задачу усложняют сами себе, а потом срывают сроки. Если нужна админка, т.е. можно за полдня накидать. Там как обычно обычно бывает нужен обычный круд
Orion55
@orion55
Mar 03 2016 12:46
@Aleserche если специальные админки для лендингов - очень простые и примитивные
aleserche
@Aleserche
Mar 03 2016 12:46
90% они обычные
вот еще бы по соц. сетям качнуть скилл где-нибудь
Romeo
@webds
Mar 03 2016 12:47
@Dualse Ну к примеру путь будет поиск определенного код-метки(позиция) в коде страницы (который отдает view) и замена его на другой код c технического метода MyMethod
Orion55
@orion55
Mar 03 2016 12:47
@Aleserche уровень кто админить будет какой? если поручат милой секретарше, то добавление фотки превратиться в сложнейший загадочный квест
Romeo
@webds
Mar 03 2016 12:48
Суть - общий - промежуточный метод, в который попадают данные после return view(...)
любого контроллера
Orion55
@orion55
Mar 03 2016 12:49
@Aleserche и ещё сколько народу на этот лендинг придёт - читал инфобизнесмены жаловались - сделали лендинг - видеопродажник - программисты его разместили на хостинге - пришёл народ и хостинг умер, на youtube нужно было размещать
aleserche
@Aleserche
Mar 03 2016 12:50
@orion55 в моем случае простейшая регистрация промокодов
Maxim
@Big-Shark
Mar 03 2016 12:50
@Aleserche а смысл?
aleserche
@Aleserche
Mar 03 2016 12:51
@Big-Shark смысл? В чем?
Orion55
@orion55
Mar 03 2016 12:51
@Aleserche делай как удобно для клиента
Maxim
@Big-Shark
Mar 03 2016 12:51
@Aleserche ну почему не взять микро фреймм, экономия на спичках?
aleserche
@Aleserche
Mar 03 2016 12:52
@Big-Shark к примеру? Проблема еще и в том, что я не знаю ни одного микро
может есть такие, где можно в один присест освоить тему
Maxim
@Big-Shark
Mar 03 2016 12:53
@Aleserche слим
Orion55
@orion55
Mar 03 2016 12:54
@Aleserche лично я лендинги беру уже готовые со скриптамин на файлоразвалах, по факту остаётся верстка, вот этот за 1 день сделал http://poedinkiclub.ru/
Alexander
@Dualse
Mar 03 2016 12:54
Такое чувство, что у нас в РК делают сайты на отъе###сь. http://hc-beibarys.kz/imaGsdgsdg Это сайт хоккейного клуба города нефтяников (типо один из самых богатых регионов). Меня просто бомбит, почему клиента такое устраивает?! Этот сайт сделали пару недель назад.
aleserche
@Aleserche
Mar 03 2016 12:55
@Big-Shark ок, я посмотрю. А то чую, что не последний лендинг будет
@Dualse ты сделал больно моим глазам
Maxim
@Big-Shark
Mar 03 2016 12:56
@Dualse омг
@Aleserche в нем есть ди, роутинг, и мидлвеа
aleserche
@Aleserche
Mar 03 2016 12:58
@Big-Shark а для работы с соц-сетями можно что-нибудь прикрутить?
я просто с соц. никогда не работал, поэтому вообще хз что это такое
Alexander
@Dualse
Mar 03 2016 12:58
@Aleserche А что именно от соц. сетей ты хочешь?
aleserche
@Aleserche
Mar 03 2016 12:59
@Dualse авторизацию и шаринг на стену
или как его там
Юрий
@sawerus
Mar 03 2016 12:59
@Dualse трындец... зачем ты этот линк запостил......
Maxim
@Big-Shark
Mar 03 2016 12:59
@Aleserche ну композер есть, подключай что хочешь.
aleserche
@Aleserche
Mar 03 2016 12:59
@Dualse можно я эту ссылку своим буду показывать?
Alexander
@Dualse
Mar 03 2016 13:01
@Aleserche Когда говорят, что дорого показывай им этот сайт)))))
aleserche
@Aleserche
Mar 03 2016 13:01
@Dualse ок
Юрий
@sawerus
Mar 03 2016 13:05
@Dualse клиенту пофигу, делала какая нить бабуля уборщица, так чисто из тренировочных соображений. Решила попробовать себя в веб дизайне и разработках ))
я тоже в закладки положу пожалуй эту каку ))
Alexander
@Dualse
Mar 03 2016 13:07
@Aleserche На стену репостить можно так: https://vk.com/dev/share_details. По такому же принципу можно поставить блок комментариев через Вконтакте.
@sawerus Там у них под меню есть блок с матчами - это некий виджет, не помню с какого сайта. Вот пару дней назад они его криво поставили, так у них верстка больше суток лежала.
Юрий
@sawerus
Mar 03 2016 13:14
@Dualse после твоей ссылки - я верю в себя как никогда ))
с вот таким первым проектом написанным по ходу изучения пыха. Надумывал как должно работать. Искал в доках с помощью чего можно то или иное сделать. Вот что получилось - https://promokodiz.ru - мое первое писание.
Alexander
@Dualse
Mar 03 2016 13:18
@sawerus А ты его все еще поддерживаешь?
Юрий
@sawerus
Mar 03 2016 13:19
нет, уже давно нет...
@Dualse в автомате парсится
Alexander
@Dualse
Mar 03 2016 13:19
@sawerus А ну ладно, а то хотел показать, как можно сломать верстку)
Юрий
@sawerus
Mar 03 2016 13:20
@Dualse это для себя было. т.е. не на заказ.
@Dualse ненадо..)))
@Dualse а по подробнее ???
wiyfn
@wiyfn
Mar 03 2016 13:29
как в laravel 5.2 можно работать с ролями пользователей ? Раньше использовал пакет https://github.com/romanbican/roles
JhaoDa
@jhaoda
Mar 03 2016 13:29
@wiyfn и дальше используй
wiyfn
@wiyfn
Mar 03 2016 13:30
@jhaoda для 5.2 уже не работает
JhaoDa
@jhaoda
Mar 03 2016 13:31
@wiyfn тогда ты неправильный задал вопрос
На вопрос «как в laravel 5.2 можно работать с ролями пользователей ?» есть один ответ — в ларавель 5.2 работать с ролями можно и так, и эдак.
Но, полагаю, что тебя он не устроит :)
Юрий
@sawerus
Mar 03 2016 13:40
@Dualse спасибо!
Гиттер аууу
asvae
@asvae
Mar 03 2016 13:48
@wiyfn // для 5.2 уже не работает
Если и не работает, то делает он это донельзя скрытно :Р.
Pavel Kuzmin
@s00d
Mar 03 2016 14:43
Всем привет. Тут недавно давали ссылку на html фреймворк. Очень понравился, но не могу найти ссылку. Может кто помнит?
KarmaBot
@KarmaBot
Mar 03 2016 14:43
@Virus191288, привет =)
Pavel Kuzmin
@s00d
Mar 03 2016 14:44
а вспомнил, bulma
Dave
@aios
Mar 03 2016 14:46
привет - кто настраивал этот http2?
NoViKoFF
@AndrewNovikof
Mar 03 2016 14:47
@s00d вот это посмотри лучше: http://getuikit.com/
Sergey Protko
@fesor
Mar 03 2016 14:47
@aios а что его там настраивать?
Dave
@aios
Mar 03 2016 14:48
@fesor ну имею ввиду - подводные камни может какие?
Sergey Protko
@fesor
Mar 03 2016 14:48
@aios ставишь nginx 1.9.5+ и не паришься.
подводный камень один - SSL обязательно
но тут просто - можно letsencrypt юзать
Pavel Kuzmin
@s00d
Mar 03 2016 14:52
@AndrewNovikof чем он лучше?
NoViKoFF
@AndrewNovikof
Mar 03 2016 14:52
@s00d возможностей больше
Alexander Popov
@ruelephant
Mar 03 2016 15:00
такс
мне вот интересно, кто-то занимался написанием своего дб драйвера под модель?
у меня тут подсуетились из корпоративного LDAP читать инфу, я вот думал может как модель оформить...
но что-то количество методов которые надо реализовать, удручает
что бы нативно все это подсунуть
JhaoDa
@jhaoda
Mar 03 2016 15:05
https://toster.ru/q/298099 где мой миксер???
<form method="POST" action="ProductController/store" class="col s12">
Срочно развидеть...
Alexander Popov
@ruelephant
Mar 03 2016 15:06
@jhaoda товарищь
как насчет 50 оттенков laravel обсудить? :)
Юрий
@sawerus
Mar 03 2016 15:10
@AndrewNovikof мда, второй по интереснее. А что бутстрап ?
JhaoDa
@jhaoda
Mar 03 2016 15:10
@ruelephant обсуждай, я не против
Alexander Popov
@ruelephant
Mar 03 2016 15:10
@jhaoda так кто-то занимался этой ересью?
или я слишком перемудрил как всегда
JhaoDa
@jhaoda
Mar 03 2016 15:11
@ruelephant не знаю
NoViKoFF
@AndrewNovikof
Mar 03 2016 15:11
@sawerus бутстрап надоел уже
Юрий
@sawerus
Mar 03 2016 15:12
@AndrewNovikof ну а по функционалу ?
NoViKoFF
@AndrewNovikof
Mar 03 2016 15:13
@sawerus не хуже, и некоторые фичи с классами по мне реализованы получше. Да и скрипты прикольнее, да вообще почему-то стандартом дефакто сейчас является Бутстрап, хотя есть не хуже, а может даже лучше
Юрий
@sawerus
Mar 03 2016 15:14
@AndrewNovikof по скриптам да... обратил тоже внимание. Выглядит как-то скажем так интереснее чем бутстрап. На новом проекте попробую пожалуй )
@AndrewNovikof спасибо, за линк
KarmaBot
@KarmaBot
Mar 03 2016 15:14
Спасибо (+1) для @AndrewNovikof принято! Текущая карма +11.
Alexander Popov
@ruelephant
Mar 03 2016 15:27
ну вот блин
Новый PSR, посоны :)
Юрий
@sawerus
Mar 03 2016 15:55
PHP, FIG!!!
))
Alexander Popov
@ruelephant
Mar 03 2016 15:56
хрень
JhaoDa
@jhaoda
Mar 03 2016 15:59
@ruelephant это юмор, чувак
Впрочем, ты отравлен ынтырпрайзом, тебе не понять
Юрий
@sawerus
Mar 03 2016 16:01
@jhaoda вот это юмор https://pp.vk.me/c543100/v543100974/16127/oeUyhuQj_fU.jpg
а php fig - это так...
))
JhaoDa
@jhaoda
Mar 03 2016 16:02
@sawerus при чем тут fig? Юмор не в этом
PHP-FIG — PHP Framework Interop Group, если кто не знал
Юрий
@sawerus
Mar 03 2016 16:03
@jhaoda ты тоже не понял моего прикола )))
JhaoDa
@jhaoda
Mar 03 2016 16:03
@sawerus слишком тонко было
Юрий
@sawerus
Mar 03 2016 16:03
я про то что если поставить запятую вместо дефиса
ладно конец дня.. я вообще уже за вискарем сижу ....
JhaoDa
@jhaoda
Mar 03 2016 16:03
@sawerus пахнет шутками за 200
Юрий
@sawerus
Mar 03 2016 16:04
)))
JhaoDa
@jhaoda
Mar 03 2016 16:07
@sawerus ты опять расслабляешь не в заповеданные Летающим Макаронным Монстром дни?
Помнишь, что в прошлый раз было?
Юрий
@sawerus
Mar 03 2016 16:08
Ваащее не понял про что ты сейчас, далекий я ))
Подскажите есть ли что нить для работы с таблицами, но.. Таблица должна быть как сплошной фильтр! Т.е. есть столбцы с orderBy - это понятно, а надо еще что бы в столбце (категория) я кликнул по имени категории т.е. (Новости) и таблица отсортировалась по категории .
аа понял ))
JhaoDa
@jhaoda
Mar 03 2016 16:08
@sawerus в пятницу бухать надо, как все
А не нарушать Фундаментальные Основы, бухая в четверг
Юрий
@sawerus
Mar 03 2016 16:10
дак я не бухаю ... в том то и дело ... не умею бухать.. так стаканчик с коллой. и есть одно но.. я и по выходным не вылажу из-за компа, работаю из дома. так что выходные у меня - это понятие которое я сам себе задам. Ну тут много таких....
Alexander
@Dualse
Mar 03 2016 16:10
@sawerus Переработки - это вред
Юрий
@sawerus
Mar 03 2016 16:10
@jhaoda )))) я тебе больше скажу. Я думал сегодня среда))
JhaoDa
@jhaoda
Mar 03 2016 16:11
@sawerus бухаешь не по плану, вот организму график и сломал
Юрий
@sawerus
Mar 03 2016 16:15
@jhaoda график сломало мое стремление познать программирование... когда сядешь за комп в 8-00 а ляжешь спать в 3-4 ночи... отсюда иной раз и расслабон - вискарик бокал второй. чисто расслабиться, не бухать.
я про это говорил http://prnt.sc/aaq23t
вся таблица и шапка и тело кликабельны что нить есть для такого что бы геренило по кликам GET
LightAir
@LightAir
Mar 03 2016 16:16

@jhaoda

Срочно развидеть...
Я не использую шаблонизатор, хочу нормально на простом html сделать нормально форму отправки продукта в бд. PS Где и в чем я допустил ошибку в коде?

Нажал на кнопку "Пожаловаться -> вопрос оскорбителен" :D

Alexander
@Dualse
Mar 03 2016 16:18
@LightAir Ага. Не использует он шаблонизатор
<input name="_token" type="hidden" value="{{ csrf_token() }}">
Да и вот этот совет тоже хороший:
<form method="POST" action="action(ProductController@store)" class="col s12">
LightAir
@LightAir
Mar 03 2016 16:23
@Dualse Да уж.... И вот нет бы элементарно мануалы почитать. :baby_symbol:
Юрий
@sawerus
Mar 03 2016 16:23
@SerafimArts аууу!
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:27
@sawerus ?
Юрий
@sawerus
Mar 03 2016 16:28
@SerafimArts работаешь или бездельничаешь? или второе только я ...
Alexander
@Dualse
Mar 03 2016 16:28
@LightAir А что это за смайл? Я что-то разобрать не могу
Юрий
@sawerus
Mar 03 2016 16:28
го в шахматы
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:28
работаю
Юрий
@sawerus
Mar 03 2016 16:28
ясно..
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:28
раелизация апи оказалась полным адом
Юрий
@sawerus
Mar 03 2016 16:28
ато
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:28
зато работает
JhaoDa
@jhaoda
Mar 03 2016 16:29
@Dualse это смайл «набухался и ползаю» :)
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:30
на я походу бухой
JhaoDa
@jhaoda
Mar 03 2016 16:30
Ай, не тебе же
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:32
т.к. в результате ад:
  • запрос
  • роутер
  • миддлваря регающая форматтер
  • миддлваря регающая декоратор
  • контроллер
  • получение данных из репозитория
  • инжект форматтера
  • ответ, прогнанный сквозь форматтер и декоратор
  • нормализация данных
  • сериализация данных
  • ответ
это порядок исполнения

форматтер - это классы, которые берут коллекции или модели и скрывает\переделывает определённые поля в зависимости от каких-либо данных окружения

декоратор - классы, которые формирует все ответы к определённому виду

нормализатор - классы, которые чекают структуры ответов и приводят их все к массивам

сериализатор - классы, которые чекают Accept заголовки или расширение и сериализуют данные в строку

шиздец, не? :D
я понял, что никто ничего не понял
asvae
@asvae
Mar 03 2016 16:37
Нужно больше торов.
Юрий
@sawerus
Mar 03 2016 16:38
@Dualse просморел datatables подробно - там есть то что мне надо по поводу выборок и сортировок...
нахрена класс писал....
Andrei Sosnov
@atehnix
Mar 03 2016 16:39
@SerafimArts да вроде норм)
Alexander
@Dualse
Mar 03 2016 16:39
@sawerus :+1:
Dave
@aios
Mar 03 2016 16:43
интересно а тут можно как то сообщения в избранное добавлять
Andrei Sosnov
@atehnix
Mar 03 2016 16:44
@aios при ALT+click по времени можно прямую ссылку на сообщение получить. А там уж сохраняй куда хочешь)
@aios это единственный вариант, вроде..
Andrei Sosnov
@atehnix
Mar 03 2016 16:50
@aios можешь эти ссылки кармаботу в личку слать. Вот и получится что-то типа избранного))
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:52
можно добавить плюшку вроде при отправке :point_up: [3 Марта 2016 г., 19:50](https://gitter.im/LaravelRUS/chat?at=56d86b6d44ba0664026adcbe) он будет добавлять ссылки в избранное
ну и текст соответственно с ним рядом будет считаться как описание
Юрий
@sawerus
Mar 03 2016 16:53
@Dualse фиг там. там выборка идет по одному полю.. а если мне 2 и более надо...
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:53
а потом можно будет просить бота в личке - покажи мне избранное
или покажи мне избранное с сообщением "олололо"
Юрий
@sawerus
Mar 03 2016 16:54
@Dualse и как я понял там надо из базы дернуть все записи ??? а потом на клиенте отрисовывается ?? а если там записей мама не балуйся ?
Andrei Sosnov
@atehnix
Mar 03 2016 16:54
@SerafimArts имеешь в виду в общем чате или в личке ссылки отправлять?
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:54
в общем
ну т.е. ситуация
SerafimArts @KarmaBot добавил в избранное для тебя @SerafimArts
Andrei Sosnov
@atehnix
Mar 03 2016 16:55
@SerafimArts хм... А если я не хочу в избранное.. А просто кому-то хочу напомнить о каком-то сообщении?
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:55
ну так поиск по тегам
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:56
точнее не тегам, а тексту рядом с ссылкой на сообщение
:point_up: 3 Марта 2016 г., 19:55 добавил в избранное
//@KarmaBot запомнил
а потом просишь в личке: избранное с текстом "избранное"
Andrei Sosnov
@atehnix
Mar 03 2016 16:57
@SerafimArts тогда надо чтобы бот добавлял в избранное, только если рядом со ссылкой добавлено @KarmaBot
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:57
он и возвращает это сообщение
aleserche
@Aleserche
Mar 03 2016 16:57
<script type="text/javascript" src="http://vk.com/js/api/share.js?90" charset="windows-1251"></script>
божечкижмои
Kirill Nesmeyanov
@SerafimArts
Mar 03 2016 16:57
@atehnix ну можно будет удалять это
Юрий
@sawerus
Mar 03 2016 17:00
кто вот это использует?
https://www.datatables.net
aleserche
@Aleserche
Mar 03 2016 17:02
сначала думал, что использовал этот плагин. Но в том было редактирование внутри ячейки
Юрий
@sawerus
Mar 03 2016 17:04
@Aleserche твое сообщение мне? не понял...
aleserche
@Aleserche
Mar 03 2016 17:04
да
Юрий
@sawerus
Mar 03 2016 17:04
@Aleserche в том - это в каком ?
в дататаблес тоже есть внутри ячейки
меня интересует если он на стороне клиента отрабатывает - надо что сразу все данные разом отдавать ?
Юрий
@sawerus
Mar 03 2016 17:09
@Aleserche чет у меня в хроме их сайт перекашивает ...
aleserche
@Aleserche
Mar 03 2016 17:10
@sawerus https://github.com/mleibman/SlickGrid вот этот посмотри
да dojo уже труп несколько лет
я его юзал 5 лет назад
@sawerus вот точно, этот плагин юзал. В нем загрузка постепенная
не тот пример кинул
Юрий
@sawerus
Mar 03 2016 17:13
@Aleserche ок, гляну.
спасибо
KarmaBot
@KarmaBot
Mar 03 2016 17:13

Нахлебник

@sawerus, вы выполнили условие: "Сказать 50 раз "спасибо".".
С чем и поздравляем =)
Нахлебник
Спасибо (+1) для @Aleserche принято! Текущая карма +2.
Юрий
@sawerus
Mar 03 2016 17:13
Нахлебник ... ))) теперь это так называется)))
больше "не буду" говорить спасибо ))
KarmaBot
@KarmaBot
Mar 03 2016 17:14
@sawerus, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Max Kolyadin
@maxflex
Mar 03 2016 17:30
Всем привет
KarmaBot
@KarmaBot
Mar 03 2016 17:30
@maxflex, привет =)
Юрий
@sawerus
Mar 03 2016 17:32
@symbios-zi @SerafimArts как на счет шахматишек часов в 23-00 + по Москве?
Max Kolyadin
@maxflex
Mar 03 2016 17:32

Вопрос не совсем по Laravel, но больше некуда обратиться: кто-нибудь знает скрипт подсчета времени от метро до метро?

Как на http://metro.yandex.ru

Юрий
@sawerus
Mar 03 2016 17:32
0_о
Max Kolyadin
@maxflex
Mar 03 2016 17:32
Нужно уметь считать время в пути от метро А до метро Б
aleserche
@Aleserche
Mar 03 2016 17:33
@maxflex у яндекса в апи нет этого?
Max Kolyadin
@maxflex
Mar 03 2016 17:34
Не-а =(
JhaoDa
@jhaoda
Mar 03 2016 17:35
@maxflex купи Яндекс :)
projct1
@projct1
Mar 03 2016 17:35
кто-нибудь использует susy?
aleserche
@Aleserche
Mar 03 2016 17:35
@rorc openSuse?
projct1
@projct1
Mar 03 2016 17:35
может подскажете, как сделать чтобы phpStorm видел подключаемые sass библиотеки? http://joxi.ru/5mdWPg5IK5Rqr1
@Aleserche нет, http://susy.oddbird.net/
Max Kolyadin
@maxflex
Mar 03 2016 17:38
@jhaoda :smile:
@maxflex может к метро и не относиться, но глянь.
aleserche
@Aleserche
Mar 03 2016 17:40
@maxflex метро на яндекс картах сделано. Можно посмотреть как они время вычисляют и сделать под себя
Юрий
@sawerus
Mar 03 2016 17:41
@maxflex хотя нет, к метро относится. там примеры есть
Artemiy Ryabinkov
@Furdarius
Mar 03 2016 17:42
Народ, а при использовании паттерна Repository делать getRandom() например надо именно в классе репозитория?
aleserche
@Aleserche
Mar 03 2016 17:45
@sawerus что-то я из примеров понять не могу, кому методы принадлежат? Router же?
Юрий
@sawerus
Mar 03 2016 17:50
@Aleserche Ymaps.Router - Прокладывает маршрут через заданные точки. чуть выше есть методы - getDuration() - Возвращает расчетное время в пути (в секундах).
aleserche
@Aleserche
Mar 03 2016 17:51
ок, значит правильно понял. От объекта Ymaps.Router
http://underscorejs.org/ кто-нибудь использовал данную либу?
Artemiy Ryabinkov
@Furdarius
Mar 03 2016 17:57
@Aleserche Все используют) Но lodash вроде более юзабельный и нынче более популярный
R.Mun
@RodionMun
Mar 03 2016 18:02
Всем привет, как при создании новой записи в бд указать в качестве дефолтного значения данные авторизованного пользователя?
KarmaBot
@KarmaBot
Mar 03 2016 18:02
@GONGOTA, и тебе привет ;)
R.Mun
@RodionMun
Mar 03 2016 18:07
Неверно поставил вопрос, как это правильнее сделать, сейчас у меня реализовано через конструктор модели.
Shmasya
@Shmasya
Mar 03 2016 18:19

Всем привет! У меня есть простенькая таблица http://i.imgur.com/iOiQvmd.png
Таблица, так сказать, для ролей и разграничения прав. Есть Отделы (Department) и Регистры(Registry). Есть Роли (Role) и Разрешения (Permission). Отделы содержат в себе Регистры (hasMany). Нужно выводить типа:

@foreach($deps as $dep)
  @foreach ($dep->regisrties as $registry)
    {{ $regisrty->name }}
  @endforeach
@endforeach

Т.е. другими словами выводит доступные для пользователя Отделы и Регистры в них.

KarmaBot
@KarmaBot
Mar 03 2016 18:19
@Shmasya, и тебе привет ;)
Alexander
@xxxcoltxxx
Mar 03 2016 18:21
@Shmasya ии?)
Shmasya
@Shmasya
Mar 03 2016 18:22
@xxxcoltxxx и я хз чё не получается. Связи в модельках есть. Не могу понять как из своих таблиц выборку правильную сделать.
В этом и проблема.
Alexander
@xxxcoltxxx
Mar 03 2016 18:22
@Shmasya Связи прописаны? User::with('roles.registries.departments')
Shmasya
@Shmasya
Mar 03 2016 18:23
@xxxcoltxxx with?
Alexander
@xxxcoltxxx
Mar 03 2016 18:23
@Shmasya with
Victor Golovko
@siptik
Mar 03 2016 18:23
@Shmasya Docs
Shmasya
@Shmasya
Mar 03 2016 18:23
Victor Golovko
@siptik
Mar 03 2016 18:24
@Shmasya о связях есть инфо в доках
Alexander
@xxxcoltxxx
Mar 03 2016 18:24

@Shmasya

$users = User::with('role.registries.departments')->get()

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

projct1
@projct1
Mar 03 2016 18:25
для чего в ларе папка storage/app/public ?
Alexander
@xxxcoltxxx
Mar 03 2016 18:25
@rorc хз, у меня там пусто. Но там типа кеш
Shmasya
@Shmasya
Mar 03 2016 18:25
@xxxcoltxxx нет, такого не прописывал.
Artur Gafurov
@assurrussa
Mar 03 2016 18:25
@rorc откуда нам знать что ты там наделал)
projct1
@projct1
Mar 03 2016 18:26
@assurrussa это стандартная папка, при свежей установки лары она уже там есть
Shmasya
@Shmasya
Mar 03 2016 18:26
@rorc кеп. Скорее, как сказали выше это для кеша
Alexander
@xxxcoltxxx
Mar 03 2016 18:26
@Shmasya Нужно прописать связи между всеми моделями, чтобы вытянуть эту инфу
Victor Golovko
@siptik
Mar 03 2016 18:27
@rorc у меня нет этой папки
Юрий
@sawerus
Mar 03 2016 18:27
@rorc не, не.... у меня вот ее нет...
projct1
@projct1
Mar 03 2016 18:27
@siptik @sawerus версия >= 5.2 ??
Юрий
@sawerus
Mar 03 2016 18:27
@rorc storage/app -есть, а public нет по default
Victor Golovko
@siptik
Mar 03 2016 18:27
я думаю это какой то пакет сдалал ее при первом вызове
Юрий
@sawerus
Mar 03 2016 18:27
@rorc да
Victor Golovko
@siptik
Mar 03 2016 18:28
@rorc да
самая последняя версия
но я обновлялся с 5.1
2 проекта
скорее всего при установке либы какой то она создала эту папку
Yurik
@inferal
Mar 03 2016 18:54
Всем привет!!
KarmaBot
@KarmaBot
Mar 03 2016 18:54
@inferal, здравствуй.
Maksim (Ellrion) Platonov
@Ellrion
Mar 03 2016 18:54
Эгей
Artemy
@lartie
Mar 03 2016 18:57
Привет всем. Кто знает какую нибудь библиотечку или туториал, как сделать авторизацию через email/пароль + список соц сетей, и чтобы к одному аккаунту можно было подключить много много соц сеток
KarmaBot
@KarmaBot
Mar 03 2016 18:57
@artemiydeveloper, привет, как настроение?
Yurik
@inferal
Mar 03 2016 18:58
У меня такой вопрос по чему не работает route в таком исполнение Route::resource('Categories','CategoriesController');а когда делаю так
Route::resource('сategories','CategoriesController'); то все срабатывает хотя я просто cantgories пишу с маленькой буквы, а с большой не работает????
Maksim (Ellrion) Platonov
@Ellrion
Mar 03 2016 19:00
Что значит
Не работает?
Yurik
@inferal
Mar 03 2016 19:01
Sorry, the page you are looking for could not be found.
Maksim (Ellrion) Platonov
@Ellrion
Mar 03 2016 19:01
А какой uri вызываешь?
Shegl
@Shegl
Mar 03 2016 19:02
Добрый вечер всем!
KarmaBot
@KarmaBot
Mar 03 2016 19:02
@Shegl, здравствуй.
Shegl
@Shegl
Mar 03 2016 19:02
Ребята шарите в JS а конкретно в замыканиях?
Если кто шарит, у меня проблема, я использую итератор for(key in array)
а потом использую array[key] и привязываю на эти объекты (context2d)
функцию, которые тоже замыкания
Maksim (Ellrion) Platonov
@Ellrion
Mar 03 2016 19:04
@inferal ну так и что ты хочешь? Вызывая uri с маленькой и роутя с большой?
Shegl
@Shegl
Mar 03 2016 19:04
и вообщем во всех key является текущим, тоесть последним значением
при этом ломаются все внутренние функции
как мне в эти под замыкания передать тот самый key
Yurik
@inferal
Mar 03 2016 19:05
@Ellrion все понял спс
KarmaBot
@KarmaBot
Mar 03 2016 19:05
Спасибо (+1) для @Ellrion принято! Текущая карма +110.
Artemy
@lartie
Mar 03 2016 19:06
help me
Maksim (Ellrion) Platonov
@Ellrion
Mar 03 2016 19:06
@Shegl что за хуйню ты пишешь😯?
Shegl
@Shegl
Mar 03 2016 19:07
@Ellrion I DONT KNOW :D
@artemiydeveloper на ларакасте есть мануалы, ссылку скинуть или поищешь ?
@Ellrion да плагин свой на jQuery написал для контроля чартов из ChartJS
Artemy
@lartie
Mar 03 2016 19:08
@Shegl я не могу найти именно чтобы можно было мыло + пароль и еще и куча отдельных соц сеток в 1 аккаунт объедененные
с примером миграции желательно
Shegl
@Shegl
Mar 03 2016 19:08
@Ellrion очень много работы с чартами графиками всякими.. Думал вот плагином DRY обеспечу, так то обеспечил, но вот проблема с замыканием
@artemiydeveloper ну в качестве логина ты можешь использовать какой угодно тип
Maksim (Ellrion) Platonov
@Ellrion
Mar 03 2016 19:09
@Shegl
Shegl
@Shegl
Mar 03 2016 19:09
@artemiydeveloper про кучу соц сеток я не совсем понимаю
@artemiydeveloper нужна куча соц сеток + email + пароль
@artemiydeveloper или (Куча соц сеток - или - email+ пароль) ?
Artemy
@lartie
Mar 03 2016 19:10
@Shegl ну чтобы ты зашел под вк, затем в настройках по надобности подключил фб, тви, добавил мыло + пароль. все по желанию
и всегда попадал в 1 акк
чекни
Artemy
@lartie
Mar 03 2016 19:11
@Shegl смотрел, но там только одну предлагают подключать как я понял
Shegl
@Shegl
Mar 03 2016 19:12
@artemiydeveloper тогда надо искать дальше, я точно знаю что где то есть, не ищи по Laravel поищи в drupal или symphony
и скопируй для Laravel 5
Artemy
@lartie
Mar 03 2016 19:12
@Shegl ладно, поищу не в ларавель.
Shegl
@Shegl
Mar 03 2016 19:12
и не забудь в OpenSource
залить
:)
Roman Sadoyan
@core01
Mar 03 2016 19:38
@Shegl Drupal разве схож с Laravel?
Shegl
@Shegl
Mar 03 2016 19:38
@core01 чуть более чем wordpress
Artemy
@lartie
Mar 03 2016 19:38
Если интересно, то вот туториал, нечто похожее с отдельной миграцией, где хранятся подключенные социальные сети, как мне и нужно
Roman Sadoyan
@core01
Mar 03 2016 19:38
@Shegl ок,, понял
Есть для modx HybridAuth
Shegl
@Shegl
Mar 03 2016 19:39
@core01 не скопировать, но перевести можно
@core01 уже предлагал
Roman Sadoyan
@core01
Mar 03 2016 19:39
Мне кажется больше подойдет
ок
Shegl
@Shegl
Mar 03 2016 19:39
задача, что можно зайти в профиль, и привязать все социалки
и потом авторизироваться с любой
Roman Sadoyan
@core01
Mar 03 2016 19:41
@Shegl так гибриаус для MODX как раз такой
@Shegl только вот его переписывать...
Ребят, я собственно хочу изучать Laravel и хотел бы очень быстро вникнуть в устройство фреймворка, но так как я работал в основном с CMS, и первым неудачным опытом CMF был YII, после чего достаточно хорошо узнал MODX REVO, то какие можно посмотреть уроки, почитать инструкции, гайды (желательно на русском), кроме кода (код само собой), так как сильно отстал от жизни и composer'ом толком не умею пользоваться?
Artemy
@lartie
Mar 03 2016 19:47
@core01 да просто на офф документацию опирайся, там в 5.2 добавили пример менеджера задач
@core01 и раз даже с композером проблемы, то загляни в мини руководство PHP Правильный путь
Shegl
@Shegl
Mar 03 2016 19:48
@core01 есть неплохая группа в ВК
Shegl
@Shegl
Mar 03 2016 19:48
@core01 есть неплохие гайды на русском в gist.github
@core01 есть ОТЛИЧНЫЙ ресурс laracasts.com
Roman Sadoyan
@core01
Mar 03 2016 19:50
@Shegl @sawerus а ларакастс платный?
Shegl
@Shegl
Mar 03 2016 19:50
@sawerus спасибо тебе за ссылки, а то бы core01 незагуглил бы
KarmaBot
@KarmaBot
Mar 03 2016 19:50
Спасибо (+1) для @sawerus принято! Текущая карма +19.
Shegl
@Shegl
Mar 03 2016 19:51
@core01 есть платный контент, есть бесплатный
Roman Sadoyan
@core01
Mar 03 2016 19:51
@artemiydeveloper как же я отстал от жизни исходя из "Правильный путь", до сих пор php 5.5
@sawerus @artemiydeveloper @Shegl спасибо за ресурсы, буду изучать.
KarmaBot
@KarmaBot
Mar 03 2016 19:52
Спасибо (+1) для @sawerus принято! Текущая карма +20.
Спасибо (+1) для @artemiydeveloper принято! Текущая карма +4.
Спасибо (+1) для @Shegl принято! Текущая карма +4.
Юрий
@sawerus
Mar 03 2016 20:04
гугель детский поисковик сделал.
всякую бяку пытался найти - нифига...
на самом деле для детей
LightAir
@LightAir
Mar 03 2016 20:08
Ну блин. Теперь порнушку не посмотрю ;( Так то мамка запрещает, а тут ещё и корпорация зла ;(
Roman Sadoyan
@core01
Mar 03 2016 20:08
=)
startpage.com
анонимный гугл
Artemy
@lartie
Mar 03 2016 20:09
@sawerus там наверное инфу и о пхп не найти)
LightAir
@LightAir
Mar 03 2016 20:09
Кстати у яда неплохие днс есть. С блокировкой адьюлта и мошеннических сайтов
Roman Sadoyan
@core01
Mar 03 2016 20:11
Для таких случаев юзаю UblockOrigin
Roman Sadoyan
@core01
Mar 03 2016 20:11
а то DNS Яндекса всё-таки блокируют все ресурсы которые забанены роскомнадзором
Artemy
@lartie
Mar 03 2016 20:21
@sawerus это была шутка про всякие "бяки"
Mikhail Sychev
@snutworks
Mar 03 2016 20:48
Всем привет
KarmaBot
@KarmaBot
Mar 03 2016 20:48
@snutworks, привет =)
Mikhail Sychev
@snutworks
Mar 03 2016 20:50
Поигрался с гейтами ролями и пермишенами, прям счастье какое-то, но возник вопрос, например я хочу закрыть всю админку, я это решил через миддл, AbortIfNotAnEditor он проверяет что роль пользователя editor, необходимо ли наделять суперпользователя всеми правами вниз по стеку?
Alexander Zhuravlev
@SCIF
Mar 03 2016 20:53
@snutworks , а почему бы в миддлваре не проверять роль editor или administrator? Мне кажется это гораздо удобней
В симфони можно наследовать роли.
Mikhail Sychev
@snutworks
Mar 03 2016 20:54
и в добавку, как пермишены по-русски обозвать, разрешения как-то корявенько
@SCIF в целом можно, но тогда миддл не так должен называться)
Alexander Zhuravlev
@SCIF
Mar 03 2016 20:55
AbortIfCantEdit ;)
Mikhail Sychev
@snutworks
Mar 03 2016 20:55
@SCIF вариант да:)
о, привилегии, отличное слово
такая штука в миграции ролей
$use_darkside = Permission::create(['name' => 'use-darkside', 'label' => 'Может пользоваться админкой']);
$ad_disabled = Permission::create(['name' => 'ad-disabled', 'label' => 'Не видит рекламу']);
$change_roles = Permission::create(['name' => 'change-roles', 'label' => 'Может изменять роли пользователей']);
$change_permissions = Permission::create(['name' => 'change-permissions', 'label' => 'Может изменять привилегии']);

$owner = Role::create(['name' => 'owner', 'label' => 'Суперпользователь']);
$editor = Role::create(['name' => 'editor', 'label' => 'Редактор']);
$member = Role::create(['name' => 'member', 'label' => 'Пользователь']);

$owner->permissions()->attach($use_darkside);
$owner->permissions()->attach($change_roles);
$owner->permissions()->attach($change_permissions);

$editor->permissions()->attach($use_darkside);

$member->permissions()->attach($ad_disabled);
Alexander Zhuravlev
@SCIF
Mar 03 2016 20:59
@snutworks ЭЭээм. Ну тут же наполнение первичное, разве нет? Это разве не в сидеры нужно сувать?
Mikhail Sychev
@snutworks
Mar 03 2016 21:00
@SCIF а это вечная борьба:) я считаю что в миграции удобнее, их точно не забудешь
Victor Golovko
@siptik
Mar 03 2016 21:01
@snutworks тоже согласен. изменение структуры, которая является константой
но я пользуюсь сидером)
иногда)
Mikhail Sychev
@snutworks
Mar 03 2016 21:03
@siptik по одному из консоли дергаешь?
Victor Golovko
@siptik
Mar 03 2016 21:03
@snutworks в смысле?
Mikhail Sychev
@snutworks
Mar 03 2016 21:03
@siptik или есть парент сидер который продергивает все?
Victor Golovko
@siptik
Mar 03 2016 21:05
@snutworks по одному
я не уверен в сидерах
миграцию поменял, а сидеры забыл
Mikhail Sychev
@snutworks
Mar 03 2016 21:06
@siptik справедливо, ну вообще тот же Джефри предлагает первичную развертку делать через общий DatabaseSeeder а остальные накидывать через миграции
Victor Golovko
@siptik
Mar 03 2016 21:08
@snutworks то что предлагают, не является правдой, а только одной из них. каждый выбирает правду по первой статье, которую он причитал :)
Mikhail Sychev
@snutworks
Mar 03 2016 21:08
@siptik это да :)
Victor Golovko
@siptik
Mar 03 2016 21:09
кому как удобно
Mikhail Sychev
@snutworks
Mar 03 2016 21:14
@siptik ту вопрос самоконтроля и привычки, тестовые данные я гоняю через фабрики и сидеры, боевые - через миграции
Myroslav Zozulia
@diwms
Mar 03 2016 21:48
spark теперь за бабки?)
Alexander
@xxxcoltxxx
Mar 03 2016 22:21
Кто-нибудь пользовался SleepingOwl\WithJoin\WithJoinTrait ?
https://github.com/sleeping-owl/with-join
Alexander Zhuravlev
@SCIF
Mar 03 2016 22:25
@xxxcoltxxx , его админка использует это, наверняка там можно глянуть пример
Alexander
@xxxcoltxxx
Mar 03 2016 22:29

@SCIF Там не нашёл похожей ситуации. В общем, я гружу

$query = Task::includes(['taskStatus', 'project', 'author', 'assignee'])

TaskStatus у меня use SoftDeletes
И у меня вываливается ошибка Undefined table: 7 ERROR: invalid reference to FROM-clause entry for table "task_statuses", потому что трейт SoftDeletes добавляет условие and "task_statuses"."deleted_at" is null, а трейт WithJoinTrait при джоине делает алиас left join "task_statuses" as "taskStatus" on "taskStatus"."id" = "tasks"."task_status_id"

@SCIF В общем, запрос получается такой
select *
from "tasks"
left join "task_statuses" as "taskStatus" on "taskStatus"."id" = "tasks"."task_status_id"
left join "projects" as "project" on "project"."id" = "tasks"."project_id"
left join "users" as "author" on "author"."id" = "tasks"."author_id"
left join "users" as "assignee" on "assignee"."id" = "tasks"."assignee_id"
where
    "tasks"."deleted_at" is null
    and "tasks"."project_id" = 101
    and "task_statuses"."deleted_at" is null
    and "projects"."deleted_at" is null
    and "users"."deleted_at" is null
    and "users"."deleted_at" is null
order by "tasks"."started_at" asc limit 10 offset 0
Селекты выдрал, конечно
Побороть можно как-нибудь?)
Alexander Zhuravlev
@SCIF
Mar 03 2016 22:35
Типа отключать softDeletes на джойнах?
Брр, так проблема вообще в селекте. Он получается бардачный? А нельзя поля просто как аргумент к get() перечислить? Тебе именно сущности нужны?
@xxxcoltxxx, Покажи селект готового запроса всё-таки. Просто отдельно селект, в отдельном поле для кода
Alexander
@xxxcoltxxx
Mar 03 2016 22:42
This message was deleted
KarmaBot
@KarmaBot
Mar 03 2016 22:42
@xxxcoltxxx, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Alexander
@xxxcoltxxx
Mar 03 2016 22:43
https://gist.github.com/anonymous/2b09097ba4569a219469
Селекты генерит WithJoinTrait
@SCIF Мне нужна плоская выборка для отображения в таблице с возможностью фильтрации и сортировки всего
Alexander Zhuravlev
@SCIF
Mar 03 2016 22:44
@xxxcoltxxx , ну тебе недостаточно самому перечислить нужные колонки? Понятно, что костыль, но что делать
Alexander
@xxxcoltxxx
Mar 03 2016 22:45
@SCIF Всё бы ничего, но проблему-то как это решает? Мне же нужны колонки из разных таблиц
@SCIF И фильтрация на уровне запроса

Нашёл в трейте SoftDeletes
@SCIF

    public function getQualifiedDeletedAtColumn()
    {
        return $this->getTable().'.'.$this->getDeletedAtColumn();
    }

т.е. трейт всегда выбирает имя_таблицы.deleted_at, на алиасы он не обращает внимания. Как вариант, можно попробовать линамически подменить имя таблицы)

Alexander Zhuravlev
@SCIF
Mar 03 2016 22:47
@xxxcoltxxx , так ты показывал ругань на селект, а не на where. Соотв. зарешать проблему выборки столбцов и проблемы не будет
Брр, а чем плохо что он обращается по имени таблицы? Таблицы — это одно, алиасы другое, разве не? Я не большой спец в мускуле, но мне казалось, что это разные вещи. И по имени таблицы никто не запретит обращаться.
Alexander
@xxxcoltxxx
Mar 03 2016 22:48
@SCIF Нет, это ж PostgreSQL) На самом деле, он не может обработать условие AND "task_statuses"."deleted_at" IS NULL
@SCIF Если прописан алиас при джоине, по имени таблицы уже нельзя обратиться
Alexander Zhuravlev
@SCIF
Mar 03 2016 22:51
Афигеть, точно. Порнография, ёпт :)
Тогда трейты смотреть и переопределять наверно. Ну корявая ситуация конечно
Alexander
@xxxcoltxxx
Mar 03 2016 22:53
Сам в шоке)
Alexander Zhuravlev
@SCIF
Mar 03 2016 22:54
Извиняй, по этим трейтам не подскажу. Не смотрел и на работе проектов на ларе нет. Кури трейты и думай как обойти
Alexander
@xxxcoltxxx
Mar 03 2016 22:58
@SCIF Да блин эти трейты вообще друг о друге не знают( Они вообще в разных моделях =)
leftJoin писать не хочется каждый раз)
Для юзеров такую же фигню сделал
@SCIF Блин. https://github.com/sleeping-owl/with-join/issues/13. Это баг(