mr.
Ахах, да да
Александр
Странно, но вот как раз таки в англ сегменте просто по делу отвечают на вопрос без оскорблений, а если не верно что-то человек делает, то укажут направление
Ну, я это и имел в виду, что "укажут направление". Русское комьюнити грешит часто подходом когда сперва тебе говорят "какое же говно ты написал тут, как такой беспонтовый код можно было родить, иди про паттерны книжку почитай". Даже если это объективно так, нахера вести себя как быдло?
Anonymous
.ща начну втирать, почему у нас такое комьюнити - меня опять забанит 😄
Ruslan
можно ли делать миграцию на mysql если раньше база была на pgsql?
Anonymous
.да
Anton
ну только если ты не использловал каких то доп фич применимых только к pg
Anton
)
Anonymous
.ну это можно тоже перенести
Anton
можно но тогда изменить код придется ))
Евгений
Вообще у программистов работа такая, код изменять
Ruslan
спасибо
Anonymous
.вообще я не понимаю, как можно общаться чисто по теме ларавела, если большинство вопросов гуглится
Евгений
А зачем в начале всех сообщений точку ставишь?
Anonymous
.ахахаха, отличный вопрос
Anonymous
.долгая история
Anonymous
.с чего вы начинали работу с ларавел?
Anonymous
.в смысле проекты для примера лично у вас какие были?
Anton
Система приема обращений в тех по с сайтов.
Alexander
как отсортировать данные из базы (по алфавиту и чтобы строки с номерами по-человечески сортировались)? Выводится так с обычной сортировкой: Магазин №1 Магазин №10 Магазин №2 Склад Такой вывод, если orderByRaw('LENGTH('name')')->orderBy('name') (получается не по алфавиту, но названия с номерами норм): Склад Магазин №1 Магазин №2 Магазин №10
Alexander
наверняка сталкивался кто-нибудь
Anonymous
Система приема обращений в тех по с сайтов.
.не, имею в виду опен сорс проекты
Anonymous
.эндогенное полиморфное психическое
Anonymous
.а в ларавел нет такой фичи типа функция получения поля?
Anonymous
.типа есть поле title
Anonymous
.и можно указать getters
Anonymous
.чтобы вызывалась функция getTitle при выводе поля этого
Anton
getTittleAttribute
Anonymous
Anonymous
.а если тебе нужно именно поле без функции, то ты вызываешь title_
Anonymous
.смысл тогда в шаблоне выводить, если можно функцией сделать
Anonymous
.так эстетичнее будет смотреться)
Anonymous
.смысл тогда в шаблоне выводить, если можно функцией сделать
В контроллере делаете запрос на выходе коллекция. Зачем из шаблона снова обращаться?
Anonymous
Гайз в чём может быть проблема. Использую для разработки OpenServer. Не обновляет композер, не создает новые проекты.
Anonymous
.ну элементы коллекции - это у нас что?
Anonymous
.ну элементы коллекции - это у нас что?
Получаем модель со связями и все. Зачем снова обращаться из шаблона?
Maksim (Ellrion)
.а в ларавел нет такой фичи типа функция получения поля?
есть. мутаторы называются в ларе. вот https://t.me/laravel_pro/149647 пример для тайтла. вот линк на доку https://laravel.com/docs/5.6/eloquent-mutators
Anonymous
запросы N + 1
Anonymous
.я просто работаю с XenForo. И на второй ветке есть такая вещь, как Entity.
Maksim (Ellrion)
В модели написать функцию или скоп
скоупы вообще не разу не про это
Anonymous
.это из симфони вроде фича у них
Anonymous
запросы N + 1
.к чему запросы?
Anonymous
.у меня уже есть готовые данные, но я хочу их скомбинировать и красиво вывести. Ну или просто изменить при выводе.
Anonymous
.и вот чтобы это не делать в контроллере, я это сделаю при запросе к полю этому
Anonymous
.:D
Anonymous
.ты написал сделать вывод в шаблоне по такому формату
Anonymous
.с если такой формат будет изначально выводиться при обращении к title
Anonymous
.вот
Ну правильно тогда. Если мы получаем коллекцию и выводим в шаблоне тогда мы делаем один запрос в контроллере. Если позже выводить в шаблоне номера магазинов отдельной функцией тогда будет на каждый магазин дополнительный запрос. Вот о чем я
Anonymous
.в бд?
Ну да
Anonymous
.ну модель кэширует значения?
Maksim (Ellrion)
.ну модель кэширует значения?
да мемоизирует. загруженные релейшены тоже
Anonymous
.ну вот, о каком тогда доп. запросе речь
Maksim (Ellrion)
.спасибо
вообще именно для вывода есть еще такой подход это делать так называемые презенторы. по сути это паттерн декоратор. вот пример https://gist.github.com/Ellrion/02ca1afe1ea45f1177a47260dac5621d
Anonymous
.за счет того, что в модели есть функция getTitle, которая выводит по дефолту title + market_id, в шаблоне можно будет выводить чисто title
Anonymous
.как работают обращения к полю модели?
Anonymous
.ну, типа user->username?
Anonymous
.как к объекту?
Nik
можно ли делать миграцию на mysql если раньше база была на pgsql?
да, если не использовались специфичные для пг штуки
Maksim (Ellrion)
.как работают обращения к полю модели?
поля хранятся в массиве. когда идет обращение к несуществующему полю класса то отрабатывает магический __get и там уже или тайп каст отрабатывает или акцессор если есть или тупо отдается поле из массива а да или релейшен дергается
Anonymous
.вот-вот
Anonymous
.ща объясню
Anonymous
.в Entity форыча тоже метод __get тоже обрабатывает обращение к полям
Anonymous
.только там есть такая фича как getters в структуре специально
Anonymous
.и, соответственно, кэш этого значения, чтобы не вызывать функцию 10 раз, если это не нужно
Anonymous
.т.е. ты указываешь structure->getters = ['title' => true] и у тебя автоматом при запросе к полю title выполняется функция getTitle
Anonymous
.и выводить в шаблоне {{ $market.title }} будет красивее, чем выводить {{ $market.title . "n" . $market.market_id }}
Anonymous
.где тот чел, для которого я всё это рассказал? :D
Anton
Столько точек вначале - читать напрягает :). Вот и не нужно никому.
Anton
тебе же сказали пользуйся мутаторами
Anton
если тебе нужно доп поле сделай $appends
Anton
добавь туда поде сделаей getter
Anton
и радуйся жизни