These are chat archives for LaravelRUS/chat

23rd
Mar 2017
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:00
@EvgenyKu надеюсь =) Видишь как всё просто
Evgeny
@EvgenyKu
Mar 23 2017 00:00
@SerafimArts когда долго засиживаюсь,котелок перестаёт варить просто, спасибо вам в карму
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:01
а ещё никто не мешает запилить ещё одну миддлварю в саааааамом начале, которая будет перехватывать их и форматировать как тебе угодно, например отправлять в формате json вида {error: { name: 'some', id: 42 }}
и получаем перехват вообще любых существующих нужных ошибок в коде
Evgeny
@EvgenyKu
Mar 23 2017 00:01
@SerafimArts вот это прикольно)
@SerafimArts спасибо
KarmaBot
@KarmaBot
Mar 23 2017 00:01
Спасибо (+1) для @SerafimArts принято! Текущая карма +703.
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:02
ну блин, это же фрейм, берёшь кубик А и Б, и составляешь как угодно
надо только чуть голову включить =)
Evgeny
@EvgenyKu
Mar 23 2017 00:02
@SerafimArts учусь только,простите :(
Bogdan Savchenko
@yabooodya
Mar 23 2017 00:05
@EvgenyKu можно оставить отображение корзины только зарегистрированным пользователям или добавлять товар при помощи middleware auth, если пользователь не авторизован - будет вылетать ошибка unauthorized, и на фронте в catch делать редирект на страницу авторизации/регистрации.
morfeylatulipe
@morfeylatulipe
Mar 23 2017 00:09
привет, красноглазики)
KarmaBot
@KarmaBot
Mar 23 2017 00:09
Не узнал тебя, @morfeylatulipe. Богатым будешь :)
morfeylatulipe
@morfeylatulipe
Mar 23 2017 00:14
У меня проблема с отображением локализованной даты в Carbon, типа "23 января 1987"... Куда копать?
Работаю на win, nginx, php7, postresql. Все по дефолту.
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:17
@morfeylatulipe в сторону php
это форматировние берётся из объекта DateTime
P.S. https://github.com/LaravelRUS/localized-carbon возможно поможет
morfeylatulipe
@morfeylatulipe
Mar 23 2017 00:20
@SerafimArts, я думал, Carbon из коробки поддерживает это... Значит, он без дополнительного обвеса не может?
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:21
@morfeylatulipe Carbon лишь надстройка над дефолтным объектом даты
и вызывая системные методы этого объекта - ты вызываешь их, а не методы карбона
morfeylatulipe
@morfeylatulipe
Mar 23 2017 00:24
@SerafimArts, немного не то, я говорил вот про это: http://carbon.nesbot.com/docs/#api-localization
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:26
@morfeylatulipe setlocale - это встроенная функция в php
А теперь см. :point_up: 23 марта 2017 г., 03:17 где написано "копать в сторону php"
Alexey Demin
@alexeydemin
Mar 23 2017 00:34
Привет! Где лучше хранить данные домена? Например у меня есть 3 статуса и я не хочу для них создавать отдельную таблицу.
KarmaBot
@KarmaBot
Mar 23 2017 00:34
@alexeydemin, привет, как настроение?
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:34
@alexeydemin под доменом что ты подразумеваешь? Энтити в контексте DDD?
а статусы - это енамы обычные
можно даже в "ValueObject" некий вынести
Alexey Demin
@alexeydemin
Mar 23 2017 00:40
@SerafimArts спасибо, второй вариант тру (наверное)! А их можно как-то получить все чтобы вывести в дроп-дауне например?
KarmaBot
@KarmaBot
Mar 23 2017 00:40
Спасибо (+1) для @SerafimArts принято! Текущая карма +704.
Andrei Sosnov
@atehnix
Mar 23 2017 00:40
@SerafimArts +1 за enum/vo.
А вот в миграции enum - хз.. Можно потом проблем получить с изменением схемы..)
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:41
@alexeydemin это не второй вариант
это два варианта вместе
Отказ от использования этого енама внутри миграций - это специально сделано, т.к. миграции итерационные, а енамы постоянные на всю систему
Alexey Demin
@alexeydemin
Mar 23 2017 00:42
аа, понял погуглил энумы, вот так решил сделать http://stackoverflow.com/questions/25705878/where-to-put-how-to-handle-enums-in-laravel/28437034#28437034
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:43
@atehnix с чего это? Всегда юзал енамы внутри схем и проблем не огребал никогда
Andrei Sosnov
@atehnix
Mar 23 2017 00:44

@SerafimArts ну например:

Renaming any column in a table that also has a column of type enum is not currently supported.

Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:44
более того, они сохраняются внутри моськи как чиселки с выделением памяти ровно в несколько бит, а значит поиск по ним и индексация - наиболее эффективна
@atehnix это уже косяк схемы, не? Ок, можно руками их патчить на проде вне схемы, а в схеме указывать ссылку на сам VO
@alexeydemin посмотри пакет который я заюзал для енамов =)
он делает тоже самое, только кеширует и оптимизит это дело, плюс покрыт тестами
ну и плюс он легковесный очень, там всего на пару-тройку методов больше
но в целом, так и есть, так что пофигу, может и не стоит тащить лишнее в проект
Alexey Demin
@alexeydemin
Mar 23 2017 00:47
@SerafimArts :thumbsup:
mavsan
@mavsan
Mar 23 2017 00:52

Всем привет, почему-то не нашел, ткните носом плз, получаю записи из бд

$rubrics = Rubric::where(...)->get();
$options = [];
foreach($rubrics as $rubric) {
    $options[$rubric->id] = $rubric->name;
}

Как это сделать через коллекции?

KarmaBot
@KarmaBot
Mar 23 2017 00:52
@mavsan, и тебе привет ;)
Andrei Sosnov
@atehnix
Mar 23 2017 00:52
@SerafimArts Не, ну я и не говорил, что проблемы - нерешаемые)
Но чтобы с этим не сталкиваться, на всякий случай обычно ставлю просто varchar с индексом. ;)
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:55
@mavsan эм?
mavsan
@mavsan
Mar 23 2017 00:57
@SerafimArts ну, мне нужен массив ключ - id в бд, значение - название, чтобы потом сделать option для select. Можно конечно и старым-добрым foreach, но вдруг можно коллекциями, вот решил поинтересоваться.
Andrei Sosnov
@atehnix
Mar 23 2017 00:57
@mavsan mapWithKeys()?
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 00:57
@mavsan pluck?
...->get()->pluck('value', 'key');
mavsan
@mavsan
Mar 23 2017 00:59
@atehnix, @SerafimArts спасибо!
KarmaBot
@KarmaBot
Mar 23 2017 00:59
Спасибо (+1) для @atehnix принято! Текущая карма +211.
Спасибо (+1) для @SerafimArts принято! Текущая карма +705.
Andrei Sosnov
@atehnix
Mar 23 2017 00:59
Хотя да.. @SerafimArts +
Alexey Demin
@alexeydemin
Mar 23 2017 01:30
Эх, не подходит решение с константами, они на разных языках должны быть :cry:
JhaoDa
@jhaoda
Mar 23 2017 07:20
@yabooodya только не авторизованным, а аутентифицированным
Soprun Vladislav
@vlsoprun
Mar 23 2017 07:30
Всем доброго утра :smile:
Artur
@astralo
Mar 23 2017 07:39
Привет всем! :)
KarmaBot
@KarmaBot
Mar 23 2017 07:39
@astralo, здравствуй.
Dmitry Konurov
@dkonurov
Mar 23 2017 07:41
Доброе утро
S.Vishnevskii
@HeroFirst
Mar 23 2017 08:28
Доброго
alexspi
@alexspi
Mar 23 2017 08:59
всем привет
KarmaBot
@KarmaBot
Mar 23 2017 08:59
Прувет, @alexspi!
Soprun Vladislav
@vlsoprun
Mar 23 2017 08:59
:hand:
4iloveg
@4iloveg
Mar 23 2017 09:02
Здаврова
sergeypechenyuk
@sergeypechenyuk
Mar 23 2017 09:07
Привет всем. Есть трабл и не пойму что делать. у меня есть проект на 5.1 + oAuth2. Собственно там все ОК. Решил поковырять 5.4 + Passport. Вроде все по докам делаю, вот только после авторизации через форму вылезает basic auth и не понятно откуда она и что с ней делать. Может кто сталкивался?
KarmaBot
@KarmaBot
Mar 23 2017 09:07
Будь как дома, @sergeypechenyuk, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
Abra Dabra
@abradabra
Mar 23 2017 09:56
Здравствуйте. Есть купленное приложение на Laravel 5 (Доска объявлений). Сейчас количество объявлений перешло 10к приложение уже подтупливает заметно, можно проверить на https://doska24.net, при сканировании сервер обрабатывает 2-5 запроса в минуту(
Собственно вопросы:
1) На сервере много RAM 16гб, но используются максимум 2гб. Есть ли смысл настроить Larave на использование redis если само приложение не использует кеширование redis явно (насколько я знаю для этого есть специальный класс и методы), или фреймворк сможет сам ускорить свою работу за счет подключения Redis?
2) как в Laravel можно отключить cookies (session и xcrf-token) для неавторизированных пользователей, что бы nginx мог кешировать такие страницы?
3) С чего вообще стоит начинать оптимизацию подобного приложения? Имеется ввиду с наименее простых и до сложных
KarmaBot
@KarmaBot
Mar 23 2017 09:56
Приветствую тебя, @abradabra!
JhaoDa
@jhaoda
Mar 23 2017 09:59
@abradabra подозреваю, что там внутри лютый говнокод и все оптимизации толку не дадут
Ivan
@Hunternnm
Mar 23 2017 10:04
@jhaoda а я прям уверен :)
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:04
@abradabra для начала я бы посмотрел запросы какие идут. Самая частая ошибка это ленивая загрузка в цикле.
Ivan
@Hunternnm
Mar 23 2017 10:04
@abradabra индексы есть?
кстати дико плюсую @Ellrion
Soprun Vladislav
@vlsoprun
Mar 23 2017 10:05
@abradabra нуу... Вопрос в том на сколько сильно ты хочешь упороться...
Да и количество ram не показатель производимости, особенно когда у тебя все на одной виртуалке
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:05
@abradabra советую поставить клокворк
S.Vishnevskii
@HeroFirst
Mar 23 2017 10:05
привет всем) не подскажите что в rewrite прописать чтобы при запросе домена account.myapp.com шло обращение к приложению на / , где в последующем мы обрабатывали префикс поддомена следующим образом. (не локально)
Route::group(['domain' => '{account}.myapp.com'], function()
{

    Route::get('/', function($account)
    {
        return $account;
    });

});
KarmaBot
@KarmaBot
Mar 23 2017 10:05
Hello, @NEXT-WEB!
Ivan
@Hunternnm
Mar 23 2017 10:06
@NEXT-WEB ты еще не настроил?
настрой апач/nginx и всё... какой rewrite то?
Abra Dabra
@abradabra
Mar 23 2017 10:07
Спасибо ВСЕМ. Буду копать, потом еще напишу.
KarmaBot
@KarmaBot
Mar 23 2017 10:07
@abradabra, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
alexspi
@alexspi
Mar 23 2017 10:08
@Hunternnm Вань ты как вчера отстрелялся?
S.Vishnevskii
@HeroFirst
Mar 23 2017 10:08
@Hunternnm привет
Ivan
@Hunternnm
Mar 23 2017 10:08
@abradabra я годик назад накидывал доску объявлений. Сейчас держит 500к просмотров и ничо
Soprun Vladislav
@vlsoprun
Mar 23 2017 10:08
@abradabra слушай, а подскажи, без кэша сколько запросов (количество) в баз в среднем на страницах ?
Ivan
@Hunternnm
Mar 23 2017 10:08
@alexspi второй раунд пошел) на обед прервался
Abra Dabra
@abradabra
Mar 23 2017 10:09
@vlsoprun хз точно, около 100 где-то
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:09
@NEXT-WEB в реврайт ничего. просто настрой в сервере если апач ServerAlias *.example.org. nginx - server_name example.org *.example.org;
Abra Dabra
@abradabra
Mar 23 2017 10:10
@vlsoprun Я вот и интересуюсь, если я подключу redis сможет ли Lara сама туда ложить ответы от БД, или мне нужно явно программно править код дял этого
Ivan
@Hunternnm
Mar 23 2017 10:11
@abradabra если код юзает кеш - то просто правка env
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:11
@abradabra само ничего не будет. Если там уже где то есть кеширование (в коде) но просто для него врублен файловый кеш например или вообще не настроен драйвер, то тогда да
@abradabra ну сессии можно на редиску переключить. тоже прерост будет небольшой
Soprun Vladislav
@vlsoprun
Mar 23 2017 10:12
@abradabra 100 запросов ?!... ты что выгружаешь всю бд на страницу ?! )))
Я думал хоть 20 - 30.. Но сотка... Прям жесть ))
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:13

@abradabra

хз точно, около 100 где-то

беда... не должно быть столько. Точно накосячено где то с ленивой

Anatoliy
@krimes
Mar 23 2017 10:15

Всем приятного дня. Столкнулся с проблемой в коллекциях, а именно сделать whereIn() через метод в модели который возвращает массив значений.
В Модели App\Budget

public function getRangePeriod()
    {
        return range($this->period_start,$this->period_end);
    }

Получаю данные в контролере:

Illuminate\Database\Eloquent\Collection {#794
     all: [
       9 => App\Budget {#751
         id: 62,
         period_start: 7,
         period_end: 17,
       },
       10 => App\Budget {#786
         id: 63,
         period_start: 5,
         period_end: 10,
       },
     ],
   }

Потом пытаюсь сделать такую штуку

whereIn('getRangePeriod',range(3,6))

На что получаю ошибку:
LogicException: Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation in \vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php:2709
Т.е так делать нельзя?

Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:16
@abradabra там еще бы за 18 js'ок и 18 css которые тянутся с сервака не склеенными и не минифицированные (некоторые) по попе надавать автору)
Soprun Vladislav
@vlsoprun
Mar 23 2017 10:19
@abradabra Fuck! Fuck!.. Найти того человека кто это сделай и соверши над ним насилие.
@abradabra Это же cms ?
JhaoDa
@jhaoda
Mar 23 2017 10:20
@abradabra у кого ты купил это говно?
Мы должны знать этого «героя»
Abra Dabra
@abradabra
Mar 23 2017 10:20
@vlsoprun не совсем. Я когда-то сбрасывал тебе эту доску) могу новую версию закинуть
JhaoDa
@jhaoda
Mar 23 2017 10:21
@abradabra на каньоне купил, поди? За 20-25 баксов?
Soprun Vladislav
@vlsoprun
Mar 23 2017 10:21
@abradabra я помню и она явно криво работает.
Abra Dabra
@abradabra
Mar 23 2017 10:21
@jhaoda 60
JhaoDa
@jhaoda
Mar 23 2017 10:21
@abradabra мои поздсоболезнования. Хотя шисят баксов...
Abra Dabra
@abradabra
Mar 23 2017 10:22
@jhaoda ну не все так плохо, до идеальности далеко но как карказ вполне годно, темболее 400 чел купило уже: codecanyon.net/item/laraclassified-geo-classified-ads-cms/16458425
alexspi
@alexspi
Mar 23 2017 10:22
о нашёл, ведь помню что попадалась https://codecanyon.net/item/jobclass-geolocalized-job-portal-script/18776089
JhaoDa
@jhaoda
Mar 23 2017 10:22
@abradabra ну раз 400 купили, тогда конечно...
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:23
ДЕмо у меня даже не грузится)
alexspi
@alexspi
Mar 23 2017 10:24
@Ellrion у меня грузится
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:25
@alexspi ага щас тоже. видимо временный тупняк где то
alexspi
@alexspi
Mar 23 2017 10:25
@Ellrion это же кодконьон ))
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:27
@abradabra а покажи что там еще за запросы. Неужели он каждый раз перечитывает всю схемму (кстати зачем?) и не кеширует ее. Но они вроде быстрые. Писец видимо где то ниже)
Abra Dabra
@abradabra
Mar 23 2017 10:30
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:49
@abradabra мда... полюбовался. Ну там видно паттерны (пачки повторяющихся запросов) что точно указывает на неправильное применение ленивой загрузки. Плюс схемма перечитывается. Беда конечно) Можно ли что то сделать? ну наверное можно найти место где вычитывается схемма и намутить там кеширование. Поправить ленивую загрузку будет сложнее темболее что скорее всего оно не в одном месте. Ну а если не лезть в код то можно Mysql (он же там?) подтюнить. Запросы вроде быстро идут но их много очень. Дать больше коннектов, памяти и т.п. тут я уже не силен
Ivan
@Hunternnm
Mar 23 2017 10:52
innodb_pool_buffer_size тюнить надо) и индексы ставить надо юзать постгрес!
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:56
@Hunternnm вот хз у нас постгря не показала себя лучше чем мария
Ivan
@Hunternnm
Mar 23 2017 10:56
@Ellrion настроили ее?
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 10:56
@Hunternnm возможно конечно наши админы не сумели его приготовить. Но там ребята умные вроде
Ivan
@Hunternnm
Mar 23 2017 10:57
@Ellrion ну и тут еще надо знать особенности постгри чтобы с ней работать нормально... это да
Abra Dabra
@abradabra
Mar 23 2017 10:58
Надо взять сервер на амазоне, Кто из России можете сказать какой регион меньше всего пинг? http://www.cloudping.info/
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 11:00
@abradabra
US-East (Virginia)    156 ms
US-West (California)    201 ms
US-West (Oregon)    189 ms
Europe (Ireland)    67 ms
Europe (Frankfurt)    44 ms
Asia Pacific (Mumbai)    182 ms
Asia Pacific (Seoul)    312 ms
Asia Pacific (Singapore)    245 ms
Asia Pacific (Sydney)    356 ms
Asia Pacific (Tokyo)    241 ms
South America (São Paulo)    287 ms
China (Beijing)    221 ms
Abra Dabra
@abradabra
Mar 23 2017 11:00
@Ellrion Спасибо
KarmaBot
@KarmaBot
Mar 23 2017 11:00
Спасибо (+1) для @Ellrion принято! Текущая карма +207.
Abra Dabra
@abradabra
Mar 23 2017 11:03
@Ellrion Мария с дефолтными насторйками быстрее mysql?
Ivan
@Hunternnm
Mar 23 2017 11:03
@abradabra дэфолтные настройки это мега зло
Abra Dabra
@abradabra
Mar 23 2017 11:04
@Hunternnm имеется ввиду когда пока не знаешь что тюнить, а стоит выбор ставить mysql или марию
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 11:04
@abradabra Честно. я хз. У нас и мария и перкона была в разное время. Я не большой спец в тюненге баз у нас для этого специальные человеки есть
Ivan
@Hunternnm
Mar 23 2017 11:04
@abradabra одинаковые они
SSL512
@SSL512
Mar 23 2017 11:54

всем привет.

есть проект на L.

структура следующая

/root(laravel inst)
/api(another lara inst) (эта директория вложена в root))

как я могу использовать модели из root в api?

KarmaBot
@KarmaBot
Mar 23 2017 11:54
@SSL512, привет =)
JhaoDa
@jhaoda
Mar 23 2017 12:12
@SSL512 composer тебе поможет
Андрианов Сергей
@Batisska
Mar 23 2017 12:14
Добрый день дамы и господа ))
KarmaBot
@KarmaBot
Mar 23 2017 12:14
@Batisska, привет =)
Андрианов Сергей
@Batisska
Mar 23 2017 12:18
Подскажите как реализовать.
Надо в базу вставить к примеру 50 записей и они будут постоянно вставляться.
реализовывать через цикл?
или есть инструмент в ларавел с помощью которого это можно сделать массовую вставку записей?
SSL512
@SSL512
Mar 23 2017 12:18
@Batisska есть
@Batisska тестовые записи засидить, или что надо?
@Dualse ну так?
Андрианов Сергей
@Batisska
Mar 23 2017 12:21
@SSL512 нет записи не тестовые
SSL512
@SSL512
Mar 23 2017 12:21
@Batisska читай про Eloquent значит
Max Krestovskiy
@mkrestovskiy
Mar 23 2017 12:21
ребят, как вывести ссылку со всема get параметрами?
я не хочу каждый раз передавать туда в route('link', [])
Alexander
@Dualse
Mar 23 2017 12:23
@SSL512 разве Eloquent может мульти инсерт?
SSL512
@SSL512
Mar 23 2017 12:24
$flight = App\Flight::create(['name' => 'Flight 10']);
@SSL512 и как это относится к вставке 50-и записей?
Alexander
@Dualse
Mar 23 2017 12:26

@Dualse https://laravel.com/docs/5.3/queries#inserts

Ну так это же билдер

SSL512
@SSL512
Mar 23 2017 12:26
@jhaoda а разве оно так же не съест?
JhaoDa
@jhaoda
Mar 23 2017 12:26
@Dualse и что?
KarmaBot
@KarmaBot
Mar 23 2017 12:26
Спасибо (+1) для @dkonurov принято! Текущая карма +2.
JhaoDa
@jhaoda
Mar 23 2017 12:26
@SSL512 что не съест?
Alexander
@Dualse
Mar 23 2017 12:27
@jhaoda Ну я поэтому уточнял, что сказали читать про eloquent :point_up: 23 марта 2017 г., 18:21
JhaoDa
@jhaoda
Mar 23 2017 12:27
@Dualse т.е. если кто-то что-то сказал, что всё, это истина?
Автор вопроса про элоквент и модели ничего не писал, он сказал «записи»
Не надо додумывать, выдумывать и прочее
Alexander
@Dualse
Mar 23 2017 12:28
@jhaoda Нет, поэтому я уточнил
@jhaoda Я просто не уловил мысль, зачем ты мне кинул этот линк. Ведь я его автору сразу дал. :point_up: 23 марта 2017 г., 18:19
JhaoDa
@jhaoda
Mar 23 2017 12:32
@Dualse м-да? Тогда я тупанул, пардонь
Alexander
@Dualse
Mar 23 2017 12:37

@Dualse м-да? Тогда я тупанул, пардонь

Бывает. А то я уже подумал, что я снова где-то туплю)

Андрианов Сергей
@Batisska
Mar 23 2017 12:37
а если модели связаны то идём сюда ?
https://laravel.com/docs/5.4/eloquent-relationships#inserting-and-updating-related-models
@Dualse @jhaoda спасибо
KarmaBot
@KarmaBot
Mar 23 2017 12:38
Спасибо (+1) для @Dualse принято! Текущая карма +147.
Спасибо (+1) для @jhaoda принято! Текущая карма +1474.
Alexander
@Dualse
Mar 23 2017 12:40

а если модели связаны то идём сюда ?
https://laravel.com/docs/5.4/eloquent-relationships#inserting-and-updating-related-models

Да

Андрианов Сергей
@Batisska
Mar 23 2017 12:50
Мужики а еще отправьте на доку меня где есть описание как created_at и updated_at в автомате вставлять
PhpNet
@PhpNet
Mar 23 2017 12:50
$table->timestamps() @Batisska
Soprun Vladislav
@vlsoprun
Mar 23 2017 12:50
@Batisska а в чем проблема ?
Alexander
@Dualse
Mar 23 2017 12:50
@Batisska Как понять "в автомате вставлять"?
У тебя они не обновляются? У тебя вообще нету этих полей в таблицы?
Андрианов Сергей
@Batisska
Mar 23 2017 12:52
ой извиняюсь почему то подумал что не обновляются
кривоглазие видимо ))
Soprun Vladislav
@vlsoprun
Mar 23 2017 12:52
:neutral_face:
SSL512
@SSL512
Mar 23 2017 12:55
товарищи, так как можно расшарить модели между двумя инстансами?
JhaoDa
@jhaoda
Mar 23 2017 12:55
@SSL512 я тебе ответил
Maksim (Ellrion) Platonov
@Ellrion
Mar 23 2017 12:55
@SSL512 вынеси в пакет
SSL512
@SSL512
Mar 23 2017 12:56
@jhaoda а можно как-то более развёрнуто?
JhaoDa
@jhaoda
Mar 23 2017 12:56
@SSL512 что именно? Про автозагрузчик композера ты должен УЖЕ знать, ещё ДО того, как начал работать с ларавел
SSL512
@SSL512
Mar 23 2017 12:57
@jhaoda я понимаю, что мне надо что-то прописать в композер.джсон, но чёт не могу понять что ...
VitoScaletta
@VitoScaletta
Mar 23 2017 13:03
Добрый день коллеги. Встала передо мной задача, скопировать всю таблицу из одной базы данных в аналогичную по структуре таблицу в другой базе данных. Laravel 4.2, есть идеи?
KarmaBot
@KarmaBot
Mar 23 2017 13:03
@VitoScaletta, привет =)
Alexander
@Dualse
Mar 23 2017 13:05
@VitoScaletta В чем проблема? Получил данные, переключился на другую БД, вставил
VitoScaletta
@VitoScaletta
Mar 23 2017 13:06
@Dualse ну, так то оно так, есть идея как это сделать в цикле, выбирая данные из одной таблицы и вставляя в другую, но может быть есть более изящное решение?
@Dualse что-то вроде как одной строчкой кода... по сути нужно скопировать данные один в один из одной таблицы и вставить в другую
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 13:08
mysqldump для слабаков? =)
VitoScaletta
@VitoScaletta
Mar 23 2017 13:08
@SerafimArts воот, а с этого момента по подробнее)) есть куда чего посмотреть?
Alexander
@Dualse
Mar 23 2017 13:08
@VitoScaletta Ну у тебя 3 команды по факту.
1) Получил данные https://laravel.com/docs/4.2/queries#selects
2) Изменил БД https://laravel.com/docs/4.2/database#accessing-connections
3) Вставил в новую таблицу https://laravel.com/docs/4.2/queries#inserts
PhpNet
@PhpNet
Mar 23 2017 13:08
@VitoScaletta воспользуйтесь DB::statement() - что то вроде DB::statement("insert destinationdb.products select * from sourcedb.products") или в 4-ке оно вроде было DB::raw()
Alexander
@Dualse
Mar 23 2017 13:09

Я почему-то подумал, что это надо делать регулярно

mysqldump для слабаков? =)

Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 13:10
@VitoScaletta
mysqldump --complete-insert=TRUE --skip-lock-tables=TRUE -uroot -proot -h127.0.0.1 -P3306 -d DB > DB_dump.sql
ну что-то вроде такого
а, не
без флага -d
VitoScaletta
@VitoScaletta
Mar 23 2017 13:24
@PhpNet большое тебе человеческое спасибо!!! Я знал, что это делается одной строкой кода) Вот рабочий вариант, может кому пригодится:
DB::statement("INSERT dv_category SELECT * FROM relsib_mirror.dv_category");
pavelkabanov
@pavelkabanov
Mar 23 2017 14:03
Товарищи, посоветуйте идею для приложения, чтобы можно было прокачать навыки работы с Laravel.
Андрианов Сергей
@Batisska
Mar 23 2017 14:06
@pavelkabanov Составление маршрутов для курьеров.
Dave
@aios
Mar 23 2017 14:07
@pavelkabanov Сайт шаурмы.
pavelkabanov
@pavelkabanov
Mar 23 2017 14:08
@aios Хм, интересно... Но тут больше работа с api карт, нет?
Dave
@aios
Mar 23 2017 14:08
@pavelkabanov я за шаурму
у меня нет там карт)
JhaoDa
@jhaoda
Mar 23 2017 14:08
@aios @pavelkabanov @Batisska https://gitter.im/LaravelRUS/offtop
Андрианов Сергей
@Batisska
Mar 23 2017 14:08
@Dualse @jhaoda Выбрал я короче вот этот вариант https://laravel.com/docs/5.4/eloquent-relationships#inserting-and-updating-related-models
в итоге он все равно создает множество запросов.
Как избежать?
Nikolay Stepanov
@Maxlab
Mar 23 2017 15:48
@Batisska
abstract class Model extends BaseModel
{
    /**
     * @return string
     */
    public static function table()
    {
        return with(new static)->table;
    }

    /**
     * Insert each item as a row. Does not generate events.
     *
     * @param  array  $items
     *
     * @return bool
     */
    public static function insertAll(array $items)
    {
        $now = \Carbon\Carbon::now();
        $items = collect($items)->map(function (array $data) use ($now) {
            return array_merge([
                'created_at' => $now,
                'updated_at' => $now,
            ], $data);
        })->all();

        return \DB::table(static::table())->insert($items);
    }
}
KarmaBot
@KarmaBot
Mar 23 2017 15:48
@Maxlab, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Nikolay Stepanov
@Maxlab
Mar 23 2017 15:49
@Batisska laravel/framework#1295 - тут больше
@Batisska можно еще транзакцией
DB::transaction(function() {
// do stuff
});
JhaoDa
@jhaoda
Mar 23 2017 16:09
@Maxlab ты когда код в чат кидаешь, так хоть бесполезные каменты и пустые строки вырезай. А лучше слушайся бота
@Maxlab кто бота не слушается, тот заносится в чёрную книжечку
Dave
@aios
Mar 23 2017 16:10
@jhaoda "Должники"?
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 16:16
@jhaoda кстати, может быть ты знаешь, что мы с Андреем тут потихоньку нейроночки изучаем. Так вот, ты топ 1 по негативным сообщениям к боту +))))
так что у него есть такая чёрная книжеца, просто он не злопамятный :D
Andrei Sosnov
@atehnix
Mar 23 2017 16:18
@SerafimArts да да, он не злопамятный, он записывает..)
Oleg Arkhipov
@Oleg-Arkhipov
Mar 23 2017 16:22
@SerafimArts тетрадь смерти? :)
JhaoDa
@jhaoda
Mar 23 2017 16:42
@SerafimArts передай этой кастрюльке, что он жестянка
Kirill Nesmeyanov
@SerafimArts
Mar 23 2017 16:54
@jhaoda она знает

@SerafimArts
@KarmaBot тупая жестянка бот


@KarmaBot
AVG окраса сообщения: -5.705
Извините ='(