These are chat archives for LaravelRUS/chat

13th
Jan 2017
Igor Pankov
@globalmac
Jan 13 2017 03:53
@Sogl dbdesigner.net
Artyom Mezin
@Sogl
Jan 13 2017 06:49
@globalmac Спасибо. Периодически смотрю подобные проекты, но все они с какими-то сильными ограничениями по количеству схем или времени использования.
KarmaBot
@KarmaBot
Jan 13 2017 06:49
Спасибо (+1) для @globalmac принято! Текущая карма +7.
Igor Pankov
@globalmac
Jan 13 2017 07:15
@Sogl Да уж и не говори. Тоже не смог найти чего-то более-менее вменяемого кроме dbdesigner, удобно там с ним идеи по структуре накидывать, но на 1-2 раза. Вот кстати еще решение - https://github.com/ondras/wwwsqldesigner .
Artyom Mezin
@Sogl
Jan 13 2017 07:16
@globalmac Оказалось самым нормальным за все время, у меня в закладках оно висит :smile:
Soprun Vladislav
@vlsoprun
Jan 13 2017 07:33
Здорова мужики :smile:
Alexander
@spartaque
Jan 13 2017 07:36
@vlsoprun привет
NelinD
@NelinD
Jan 13 2017 08:10
Джентльмены, как вы относитесь к тому что \Mail теперь не возвращает результат отправки письма?
Soprun Vladislav
@vlsoprun
Jan 13 2017 08:28
@NelinD хм..... У меня как то не было потребности узнать, а действительно ли письмо отправлено...
Сергей
@abler98
Jan 13 2017 09:38

Всем привет. Пытаюсь подгрузить зависимость, но почему-то не получается:

    public function sync()
    {
        return $this->user->load('favorites');
    }

Если делать через with - всё работает, но какой тогда смысл данного метода?
Также если прописать зависимость в $with = ['favorites'] тоже всё работает.

KarmaBot
@KarmaBot
Jan 13 2017 09:38
@abler98 и тебе не хворать :)
Mezhevikin Alex
@mezhevikin
Jan 13 2017 09:38
все юзают mysql или форки типа персоны или мариядб?
Alexander Avakov
@pinguinjkeke
Jan 13 2017 09:42
@mezhevikin Maria. А в основном, PostgreSQL использую для проектов
Roman Fandeev
@mrFANRA
Jan 13 2017 10:00
у меня модели обрастают методами из серии getStatusIcon() getStatusTitle(), получение форматированных дат и тд... это мне смотреть в сторону декораторов?
rammtw
@rammtw
Jan 13 2017 10:08
ребят чет туплю, как к элементу в коллекции смерджить массив?
        foreach ($task->items as $key => $item){
            foreach ($r_items as $r_item) {
                if ($item->barcode == $r_item->barcode) {
                    // Вот так мерджится, но надо не в поле data, а типо $item = $r_item;
                    $item->data = $r_item;
                }
            }
        }
Serhii Chaplia
@iwex
Jan 13 2017 10:09
@mrFANRA тоже интересно
Igor Markin
@markinigor
Jan 13 2017 10:18
@rammtw ты хочешь на основании одной коллекции получить другую коллекцию с замещенными элементами? тогда https://laravel.com/docs/5.3/collections#method-map
rammtw
@rammtw
Jan 13 2017 10:20
@markinigor не с замещенными а с добавленными, если выполняется условие, это нельзя разве сделать с foreach? вопрос был в другом
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 10:21
@mrFANRA да мути презенторы. https://gist.github.com/Ellrion/02ca1afe1ea45f1177a47260dac5621d
Roman Fandeev
@mrFANRA
Jan 13 2017 10:25
@Ellrion на хабре статью нашел https://habrahabr.ru/post/309942/ и там ругаются за магические методы
Igor Markin
@markinigor
Jan 13 2017 10:26
@rammtw мож я тебя не так понял, но исходя из твоего кода ты хочешь пробежаться по всем $task->items затем найти по barcode в другой коллекции $r_items элемент и по твоим же словам хочешь "типо $item = $r_item" то есть заменить элемент в начальной коллекции.
Объясни подробней что именно ты хочешь получить на выходе?
Roman Fandeev
@mrFANRA
Jan 13 2017 10:27
@Ellrion а ну ты же там и отбивался ))
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 10:28
@mrFANRA это такой достаточно спорный момент. В Ларе много чего не академичного так сказать, но это местами только на пользу.
Да, я там в паре мест зацепился) там несколько разных споров вышло)
Могу только сказать что использую это на нескольких проектах, при этом командных. Все довольны
Roman Fandeev
@mrFANRA
Jan 13 2017 10:31
@Ellrion ок, спасибо ... буду пробовать
JhaoDa
@jhaoda
Jan 13 2017 10:34
Кстати, исключительно на удачу напоминаю всем желающим толковым ребятам, что ЕСТЬ РАБОТА уровня мидла
Не обязательно, но идеально: фуллтайм, проживание в Симферополе.
Из минусов — я как тимлид. Писать в личку
Serhii Chaplia
@iwex
Jan 13 2017 10:35
@mrFANRA @Ellrion хотя стоп) Есть же трансформер
Roman Fandeev
@mrFANRA
Jan 13 2017 10:37
@jhaoda эм... Ялта как стажер? )
Ivan
@Hunternnm
Jan 13 2017 10:43
@jhaoda я бы таки сказал - из плюсов
urands
@urands
Jan 13 2017 10:54
Что посоветуете для генерации PDF в ларавел ? domPDF ?
rammtw
@rammtw
Jan 13 2017 11:12
@markinigor в общем я оставил как есть ( добавил свои массив в ячейку data), но теперь когда вызываю paginate у данной коллекции, моего массива там нет...
JhaoDa
@jhaoda
Jan 13 2017 11:16
@Hunternnm мой «фан-клуб» с тобой бы поспорил :)
Roman Fandeev
@mrFANRA
Jan 13 2017 11:18
@jhaoda как в него попасть уму-разуму поучиться? =))
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 11:18
@iwex трансформеры несколько про другое. Их я тоже юзаю)
JhaoDa
@jhaoda
Jan 13 2017 11:20
@mrFANRA «фан-клуб» это граждане, которые испытывают ко мне такую неприязнь, что аж кушать не могут
Roman Fandeev
@mrFANRA
Jan 13 2017 11:21
@jhaoda ну я так понимаю это после перезагрузки мозга
Bikeformer
@Bikeformer
Jan 13 2017 11:22
ребят, как ограничить поле text через миграцию?
JhaoDa
@jhaoda
Jan 13 2017 11:24
@Bikeformer в чём ограничить? В свободе? В употреблении сладкого?
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 11:25
@urands dompdf/dompdf
Bikeformer
@Bikeformer
Jan 13 2017 11:25
@jhaoda в длине поля
JhaoDa
@jhaoda
Jan 13 2017 11:25
@Bikeformer а ты не пробовал в доку заглянуть, вот сюда?
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 11:26
только лучше сюда https://laravel.com/docs/5.2/migrations#modifying-columns . Если нужно именно изменить уже в существующем
Bikeformer
@Bikeformer
Jan 13 2017 11:27
@jhaoda сначала там и смотрел
JhaoDa
@jhaoda
Jan 13 2017 11:29
@Bikeformer а, TEXT... полям типа TEXT нельзя задать длину, при чем тут ларавел?
Bikeformer
@Bikeformer
Jan 13 2017 11:29
@jhaoda до меня только дошло что в string можно задавать больше 255 :)
JhaoDa
@jhaoda
Jan 13 2017 11:30
@Bikeformer а при чем тут string?
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 11:30
@jhaoda тоже не заметил, ибо в голову не могло прийти ))
Ivan
@Hunternnm
Jan 13 2017 11:58
@mrFANRA а вот я бы по-другому обозвал "фан-клуб". По сути - это пачка людей, которые решили войти в ит сразу и за день начать рубить бабла
что-либо читать или в чем-либо разбираться они не будут от слова вообще
am0nshi
@am0nshi
Jan 13 2017 12:03
@Hunternnm есть еще те, кто не всегда привык чуть что - сразу лезть в код самого фреймворка :)
JhaoDa
@jhaoda
Jan 13 2017 12:04
@am0nshi в код фрейма приходится лезть на уровне выше начального, а тут 80% вопросов, которые отвечены в доке
am0nshi
@am0nshi
Jan 13 2017 12:05
@jhaoda так там и начинается самое интересное :D
JhaoDa
@jhaoda
Jan 13 2017 12:05
@am0nshi да пусть они хотя бы доку почитают
tisha077
@tisha077
Jan 13 2017 12:06

Привет, подскажите: как объеденить Laravel с Yii?

  • Есть кабинет(он на Yii, оставить на Yii);
  • Есть весь фронт(он на Yii - переделать на Laravel);
  • Есть админка(на Yii, то что касается пользователей надо оставить на Yii)
  • Добавить админку на Laravel, обслуживающую весь фронт без личного кабинета.

Куда смотреть, может есть примеры?

KarmaBot
@KarmaBot
Jan 13 2017 12:06
Прувет, @tisha077!
JhaoDa
@jhaoda
Jan 13 2017 12:07
@tisha077 на каком уровне их надо объединять?
Какие-то общие классы? Общая БД? Что?
tisha077
@tisha077
Jan 13 2017 12:08
на одном домене
общая БД, можно и разная
классы точно разные
JhaoDa
@jhaoda
Jan 13 2017 12:08
@tisha077 ну бери и объединяй через nginx/apache, при чем тут ларавел-то?
tisha077
@tisha077
Jan 13 2017 12:09
только об этом подумал... В Nginx-е настроить определенные маршруты на приложение с Yii, остальное пустить на Лару?
am0nshi
@am0nshi
Jan 13 2017 12:10
@tisha077 вопрос не про лару конечно, но как ты потом это г... собираешься поддерживать?
tisha077
@tisha077
Jan 13 2017 12:11
у нас поддержка Лары, остальное поддерживает команда, которая Yii пилила
@jhaoda спасиб за наводку!))
KarmaBot
@KarmaBot
Jan 13 2017 12:15
Спасибо (+1) для @jhaoda принято! Текущая карма +1402.
Roman Fandeev
@mrFANRA
Jan 13 2017 12:47
напомните пожалуйста сайт куда бот отправляет если большой кусок кода вывалить =)
am0nshi
@am0nshi
Jan 13 2017 12:48
@mrFANRA pastebin?
Roman Fandeev
@mrFANRA
Jan 13 2017 12:49
неа, но этот тоже наверное сойдет. спасибо
KarmaBot
@KarmaBot
Jan 13 2017 12:49
@mrFANRA, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 12:49
@mrFANRA хз куда бот но гист рулит) https://gist.github.com/
JhaoDa
@jhaoda
Jan 13 2017 12:50
Бот на оба сайта отправляет
HesusMan
@HesusMen
Jan 13 2017 12:52
всем привет, можно как-то сделать миграцию так чтобы остались данные в базе, но тип полей поменялся на новый?
KarmaBot
@KarmaBot
Jan 13 2017 12:52
@HesusMen, привет =)
Ivan
@Hunternnm
Jan 13 2017 12:54
@HesusMen ты знаешь как работает твоя СУБД?
Лара, пу сути, только генерирует запрос
JhaoDa
@jhaoda
Jan 13 2017 12:55
@HesusMen а в доку по миграциям ты заглядывал?
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 12:57

@HesusMen

The change method allows you to modify an existing column to a new type, or modify the column's attributes

Roman Fandeev
@mrFANRA
Jan 13 2017 13:00

Гляньте пожалуйста.
https://gist.github.com/mrFANRA/8860b1b74a2a40139e2f00a2a10b7d51

У менять есть некий заказ модель Book. Далее я хочу показать Чек(PaySlip), в зависимости от запрошенного типа html\pdf.
Все работает, проблем нет ... но чую это не правильной подход.

Ivan
@Hunternnm
Jan 13 2017 13:01
Ссылки заверни
JhaoDa
@jhaoda
Jan 13 2017 13:01
@mrFANRA ты до сих пр не запомнил, что ссылки на гист надо заворачивать?
Ivan
@Hunternnm
Jan 13 2017 13:01

И за

        $this->validate($request, [
            'type' => 'required|in:html,pdf',
        ]);

я бы пробел вырывал...

am0nshi
@am0nshi
Jan 13 2017 13:01
@Hunternnm а что именно не нравится? отсутствие форм-реквеста?
JhaoDa
@jhaoda
Jan 13 2017 13:01
@mrFANRA и до сих пор не запомнил, что валидацию надо делать в формреквестах?
Ivan
@Hunternnm
Jan 13 2017 13:02
@am0nshi именно!
JhaoDa
@jhaoda
Jan 13 2017 13:02
@mrFANRA и до сих пор не запомнил, что код надо форматировать по PSR-2?
Roman Fandeev
@mrFANRA
Jan 13 2017 13:02
форм реквесты я использую, но там где большие данные ... а там где простые данные, кажется что это лишнее
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 13:03
@Hunternnm вот тут ради одной строки валидации? Это уже какой то фанатизм. ничем оно лучше не будет
JhaoDa
@jhaoda
Jan 13 2017 13:03
@Ellrion мы превентивно :)
Ivan
@Hunternnm
Jan 13 2017 13:03
@Ellrion сегодня - одна. Завтра?)
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 13:03
@Hunternnm вот завтра и отрефакторишь
@Hunternnm а то оверинжиниринг еще хуже
Roman Fandeev
@mrFANRA
Jan 13 2017 13:04
меня честно сказать смущает в модели вот это
public function payslip(){
        if (!$this->PaySlip)    $this->PaySlip  =   new PaySlip($this);

        return $this->PaySlip;
 }
JhaoDa
@jhaoda
Jan 13 2017 13:04
@mrFANRA это не может не смущать, с таким-то форматированием...
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 13:05
@mrFANRA не в тему, но настоятельно рекомендую выучить и следовать psr-2
am0nshi
@am0nshi
Jan 13 2017 13:05
мне в ларки очень понравились худые контроллеры, и я все что могу вынести в отдельные сущности - выношу :) написал еще свой генератор форм - так вообще ляпота - 20 строчек весь контроллер, и 20 строчек типовая вьюха под него
Roman Fandeev
@mrFANRA
Jan 13 2017 13:05
@Ellrion да, я уже получал тут втык за это ))
am0nshi
@am0nshi
Jan 13 2017 13:05
@mrFANRA а вот за отсутствие скобок я бы точно пробел вырывал
Roman Fandeev
@mrFANRA
Jan 13 2017 13:06
давайте опустим форматирование пока.
am0nshi
@am0nshi
Jan 13 2017 13:08
@mrFANRA ну как, в этом чате чтобы получить результат, нужно пройти все 5 стадий - отрицание, гнев, торг, кипишь, принятие :)
dihalt
@dihalt
Jan 13 2017 13:08
здравствуйте, товарищи
KarmaBot
@KarmaBot
Jan 13 2017 13:08
Не узнал тебя, @dihalt. Богатым будешь :)
dihalt
@dihalt
Jan 13 2017 13:09
@KarmaBot буду
Roman Fandeev
@mrFANRA
Jan 13 2017 13:10
    public function payslip(){
        if (!$this->PaySlip){
            $this->PaySlip  =   new PaySlip($this);
        }

        return $this->PaySlip;
    }
ну так это нормальное решение или это не ларавел вэй?
HesusMan
@HesusMen
Jan 13 2017 13:15
@jhaoda @Ellrion да все нашел, отвлекли и не заметил modifying columns, карму в студию
@jhaoda @Ellrion спасибо
KarmaBot
@KarmaBot
Jan 13 2017 13:15
Спасибо (+1) для @jhaoda принято! Текущая карма +1403.
Спасибо (+1) для @Ellrion принято! Текущая карма +178.
dihalt
@dihalt
Jan 13 2017 13:16
Скажите, пожалуйста — если модели основаны на полиморфных связях, то:
а) есть ли возможность объявить в модели что-то вроде onCreate() где при создании оной сразу прописывались нужные связи? Или же создаём основную модель, а потом через прописанные отношения создаём другие модели?
б) По причине наличия полиморфных отношений не представляется возможным использование ключей. На кого ложится ответственность за целостность БД (удаление данных в связанных таблицах и пр.)? Понятно, что на программиста, интересует ваше мнение на этот счёт.
в) По той же причине меняется стилистика кода. Если при использовании модели с внешними ключами, при создании можно было обращаться к ней напрямую, по как быть, ежели отношения полиморфны и при создании, допустим, надо писать данные в пять таблиц? Упаковать всё в отельный класс/метод, который решает этот вопрос => чтобы на местах был код красивый и компактный?
Roman Fandeev
@mrFANRA
Jan 13 2017 13:19
dihalt
@dihalt
Jan 13 2017 13:21
@mrFANRA спс, я так понимаю, это события именно елоквента? Он у меня отдельно от лары крутится.
KarmaBot
@KarmaBot
Jan 13 2017 13:21
Спасибо (+1) для @mrFANRA принято! Текущая карма +7.
Roman Fandeev
@mrFANRA
Jan 13 2017 13:21
@dihalt а вот тут уже не скажу
dihalt
@dihalt
Jan 13 2017 13:21
@mrFANRA и да.. было бы удобнее иметь возможность объявить событие именно в модели. Ну это так, к слову.
dihalt
@dihalt
Jan 13 2017 13:27
@mrFANRA похоже, события не пашут, никакой реакции
Roman Fandeev
@mrFANRA
Jan 13 2017 13:28
@dihalt parent::boot(); не забыл?
dihalt
@dihalt
Jan 13 2017 13:28
@mrFANRA не, стоит))
JhaoDa
@jhaoda
Jan 13 2017 13:29
@dihalt ты database-компонент отдельно от ларавел юзаешь?
dihalt
@dihalt
Jan 13 2017 13:29
@jhaoda угу
на это и грешу
Сергей
@abler98
Jan 13 2017 13:30
@dihalt мб просто в модели прописать?
    public static function boot()
    {
        self::deleting(function (User $user) {
            $user->addresses()->delete();
        });

        parent::boot();
    }
JhaoDa
@jhaoda
Jan 13 2017 13:31
@dihalt ну так а Events-компонент кто ставить будет, Пушкин?
dihalt
@dihalt
Jan 13 2017 13:32
@jhaoda о чём и речь. Бытует мнение, что елоквент может работать самостоятельно, оказалось, что не в полную силу.
JhaoDa
@jhaoda
Jan 13 2017 13:32
@dihalt об этом даже его композер.жысон говорит, при чем тут мнения?
dihalt
@dihalt
Jan 13 2017 13:34
@jhaoda ты вот старый бородатый программер, скажи, что думаешь на предмет: :point_up: 13 января 2017 г., 16:16
исключая вопрос по событиям, разумеется
вопрос не в принципе "как сделать", а как сделать по уму, правильно, красиво
@dihalt события не в самой Eloquent
диспетчер внешний
Сергей
@abler98
Jan 13 2017 13:47
@dihalt у тебя он зарегистрирован?
dihalt
@dihalt
Jan 13 2017 13:47
хто?
@abler98 нет диспетчера, вот и не пашет. выше же уже разобрались
Anton Kartsev
@bigperson
Jan 13 2017 15:01
Всем привет. Подскажите пожалуйста. Есть переопределенние полиморфического типа Relation::morphMap(['order' => Order::class]);, зарегистрированное в сервис провайдере. Как можно получить экземпляр модели Order::class по строке 'order' в контроллере?
KarmaBot
@KarmaBot
Jan 13 2017 15:01
@bigperson, привет =)
JhaoDa
@jhaoda
Jan 13 2017 15:05
@bigperson это не переопределение, а алиасы для краткости в БД
Anton Kartsev
@bigperson
Jan 13 2017 15:08
@jhaoda то есть никак?
JhaoDa
@jhaoda
Jan 13 2017 15:08
@bigperson то есть руками
Maksim (Ellrion) Platonov
@Ellrion
Jan 13 2017 15:08
@bigperson хз зачем тебе но видимо это будет как то так:
$class = array_flip(Illuminate\Database\Eloquent\Relations\Relation::morphMap())[$aliace] ?? null;
$instance = $class ? new $class : null;
Anton Kartsev
@bigperson
Jan 13 2017 15:10
@Ellrion спасибо, не я лучше тогда буду использовать разные роуты для разных типов
KarmaBot
@KarmaBot
Jan 13 2017 15:11
Спасибо (+1) для @Ellrion принято! Текущая карма +179.
Сергей
@abler98
Jan 13 2017 17:25
Как можно отключить middleware для одного роута в группе?
Route::group(['middleware' => 'auth:api'], function () {
    Route::group(['prefix' => 'auction'], function () {
        Route::get('/', 'AuctionController@index'); // Вот этот должен работать без auth:api
        Route::post('/', 'AuctionController@create');
    });
});
JhaoDa
@jhaoda
Jan 13 2017 17:30
@abler98 отключить в контроллере. А лучше вообще навесить мидлварю через конструктор на нужные методы
@abler98 и пустые строки в сообщении потри
DeadMoras
@DeadMoras
Jan 13 2017 17:33
Можно ли как-то расширить класс Auth? Мне нужно брать данные из еще одной таблицы(т.е, Users + еще одна). Возможно ли это?
Сергей
@abler98
Jan 13 2017 17:34
@jhaoda почему лучше в контроллере? Так я одну группу для всех действий создал и не парюсь
JhaoDa
@jhaoda
Jan 13 2017 17:34
@DeadMoras можно почитать доку
DeadMoras
@DeadMoras
Jan 13 2017 17:34
@jhaoda отличный совет
JhaoDa
@jhaoda
Jan 13 2017 17:35
@abler98 потому что должно быть однообразие. Навесить мидлварю можно в роутинге и контроллере, а убрать — только в контроллере. Через полгода ты забудешь, что отключил эту мидварю для этого конкретного роута в контроллере
@DeadMoras конечно, я не даю плохих советов
DeadMoras
@DeadMoras
Jan 13 2017 17:36
@jhaoda я немного слепой, увы :( Adding Custom User Providers - оно?
JhaoDa
@jhaoda
Jan 13 2017 17:37
@DeadMoras точняк
DeadMoras
@DeadMoras
Jan 13 2017 17:38
@jhaoda т.е, беру код из доки, изменяю названия и Auth::myName()->row_name - готово?
JhaoDa
@jhaoda
Jan 13 2017 17:38
@DeadMoras типа того
DeadMoras
@DeadMoras
Jan 13 2017 17:38
@jhaoda спасибо
JhaoDa
@jhaoda
Jan 13 2017 17:41
Жестянка опять померла...
Ivan
@Hunternnm
Jan 13 2017 17:47
скилл
KarmaBot
@KarmaBot
Jan 13 2017 17:47
@Hunternnm, Ваша карма +302. Вы благодарили 247 раз.
  • Достижения: "Находчивый", "Благодарный", "Нахлебник", "Любитель сладкого", "Вопрошайка", "Благодетель"
Ivan
@Hunternnm
Jan 13 2017 17:47
@jhaoda он тебе специально пропускает дабы цифрой других сильно не угнетать
JhaoDa
@jhaoda
Jan 13 2017 17:48
@Hunternnm или автор очепятался и сообщение отредактировал
DeadMoras
@DeadMoras
Jan 13 2017 17:49
@jhaoda не редактировал
@jhaoda спасибо
KarmaBot
@KarmaBot
Jan 13 2017 17:49
Спасибо (+1) для @jhaoda принято! Текущая карма +1405.