These are chat archives for LaravelRUS/chat

9th
Mar 2016
scullclever
@scullclever
Mar 09 2016 00:50
Доброго времени суток! Я в контроллере получаю записи из БД, и отправляю их в представление. Мне нужно перед отправкой провести с полученными записями некоторые манипуляции (разбить на два массива) и уже их передать. Подскажите как правильно делать и где (в контроллере или в моделе).
Igor Barkowsky
@igorbarkowsky
Mar 09 2016 01:06
Доброго вечера. Просто осматриваюсь.
Alexander Zhuravlev
@SCIF
Mar 09 2016 01:09
@scullclever , смотря какие манипуляции. Но записи ведь можно получать разными путями, а отдавать два масива записей нужно всегда. Не понимаю как это можно сделать в моделе. Если речь про то как вернуть связанные модели, то это один вопрос, а как просто запрошенные записи вернуть побитыми на массивы из модели — это что-то уж больно не гибко попахивает. Это дело репозиториев. Подозреваю, что у тебя их нет. Если используешь в нескольких местах, то думай как сунуть в модель. Если нет, то соотв. контроллер
Andrei Sosnov
@atehnix
Mar 09 2016 01:15
@scullclever Если отвечать кратко - делай в контроллере. Для более подробного ответа твой вопрос слишком абстрактен.
scullclever
@scullclever
Mar 09 2016 01:43

Добавлю еще что я буквально 3 дня назад начал изучать laravel.
В контроллере получаю данные так
$bands = Band::all();
В представление создаю новый массив и заполняю данными перебором

$arr = [];
foreach($bands as $band){
    $divs = explode(',', $band->divs_id);

    for($i=1; $i<=100; $i++){
        if (!isset($arr[$i])) { $arr[$i]='xyz';}
        foreach($divs as $div){
            if ($i == $div) {$arr[$i] = $band->id;}
        }
    }
}

Но ведь это неправильно в представление делать такие конструкции.
Как мне это вынести в контроллер?

scullclever
@scullclever
Mar 09 2016 01:57
Что-то не закончил сообщение.
Как такую конструкцию вынести в контроллер чтобы из него в представление передавать уже готовый массив или объект.
JhaoDa
@jhaoda
Mar 09 2016 02:01
@scullclever для красоты начни хранить $band->divs_id в виде json, тогда ларавель сможет автоматом превращать это в массив при запросе из БД. Подробности есть в доке
Потом сделай, например, презентер, который будет что-то делать с массивом. Про презентеры тебе подскажет гугл.
scullclever
@scullclever
Mar 09 2016 02:05
ок
maxim-usachev
@maxim-usachev
Mar 09 2016 02:33
привет. где в ларе делать функционал по парсингу странички и добавлению дааных в БД по расписанию? в контроллере?
Alexander Zhuravlev
@SCIF
Mar 09 2016 02:38
По расписанию? Кроном запускаться — commands.
maxim-usachev
@maxim-usachev
Mar 09 2016 02:43
@SCIF т.е. сделать отдельный файл, в нем написать всю логику в одной функции и вызывать в shedule?
Dave
@aios
Mar 09 2016 02:45
@maxim-usachev писать команду - а потом одной строчкой ее в shedule
Alexander Zhuravlev
@SCIF
Mar 09 2016 02:45
@maxim-usachev , ну команды для этого и созданы
@maxim-usachev $schedule->command('emails:send --force')->daily();
секция Command Structure
maxim-usachev
@maxim-usachev
Mar 09 2016 02:50
@SCIF @aios спасибо
KarmaBot
@KarmaBot
Mar 09 2016 02:50
Спасибо (+1) для @SCIF принято! Текущая карма +46.
Спасибо (+1) для @aios принято! Текущая карма +31.
maxim-usachev
@maxim-usachev
Mar 09 2016 03:38
чем будет отличается job от artisan command в котнтексте моей задачи(парсинг)?
Maxim
@Big-Shark
Mar 09 2016 03:40
@maxim-usachev тем что это вообще 2 разных инструмента
maxim-usachev
@maxim-usachev
Mar 09 2016 03:40
как я понял, команду можно просто запланировать, а джобы становятся в очередь?
Alexander Zhuravlev
@SCIF
Mar 09 2016 03:40
@Big-Shark , job — это то, что в очередь ложится?
Maxim
@Big-Shark
Mar 09 2016 03:41
@SCIF угу
Alexander Zhuravlev
@SCIF
Mar 09 2016 03:41
@Big-Shark , в общепринятой терминологии (когда очередь — это amqp) — message/сообщение
maxim-usachev
@maxim-usachev
Mar 09 2016 03:41
в плане парсинга - очереди, получается, более предпочтительны?
Alexander Zhuravlev
@SCIF
Mar 09 2016 03:43
@maxim-usachev , в чём состоит твой парсинг? Ты же хотел через какое-то время. Если тебе нужно по кругу гонять задачу — пользуй очереди. Если каждую минуту/час/день — расписания
maxim-usachev
@maxim-usachev
Mar 09 2016 03:45
@SCIF , а джоб разве нельзя по расписанию в очередь добавлять?
Maxim
@Big-Shark
Mar 09 2016 03:47
@maxim-usachev нет
Alexander Zhuravlev
@SCIF
Mar 09 2016 03:48
@maxim-usachev , ну даже если бы можно было — какой смысл в этом, если для этого есть отдельный инструмент
maxim-usachev
@maxim-usachev
Mar 09 2016 03:50
все глупые вопросы - от нечтения документации. ))) хочется быстрее получить готовое. читаю про очереди.
Devalgo
@almassar
Mar 09 2016 05:00
DecryptException in BaseEncrypter.php line 49: The MAC is invalid.
в чем дело ? подскажите
Alexander Zhuravlev
@SCIF
Mar 09 2016 05:04
@almassar , в какой момент? Стек больше покажи. Вообще откуда это.
Devalgo
@almassar
Mar 09 2016 05:05
@SCIF я просто у скачал лару 5.1 затем уставновил пакет sleeping owl захожу по ссылке admin
DecryptException in BaseEncrypter.php line 49: The MAC is invalid.
in BaseEncrypter.php line 49
at BaseEncrypter->getJsonPayload('eyJpdiI6IkhRWndGNGg2NlRYWUxMSmdldE9TUlE9PSIsInZhbHVlIjoibGZuQVV2VmJtV1ZISUUya1J6cnNCSjltbEFDNkt0ZVJ4RVNnUUN3MFFMbGhSdnFFYVR4ZitRWUJGOXg0eFROMXFmcTFJQ01DcHJ6OWJ4dDlVNTRQUUE9PSIsIm1hYyI6IjljMzc2MzRhYjIwNGRmYzFiYjA1NjYyZTkzNDhmMThkNjNjMGY1ZDY0OTIwMWNiOWU1NzEyZjhkODQ2ZmMzZDcifQ==') in Encrypter.php line 97
at Encrypter->decrypt('eyJpdiI6IkhRWndGNGg2NlRYWUxMSmdldE9TUlE9PSIsInZhbHVlIjoibGZuQVV2VmJtV1ZISUUya1J6cnNCSjltbEFDNkt0ZVJ4RVNnUUN3MFFMbGhSdnFFYVR4ZitRWUJGOXg0eFROMXFmcTFJQ01DcHJ6OWJ4dDlVNTRQUUE9PSIsIm1hYyI6IjljMzc2MzRhYjIwNGRmYzFiYjA1NjYyZTkzNDhmMThkNjNjMGY1ZDY0OTIwMWNiOWU1NzEyZjhkODQ2ZmMzZDcifQ==') in StartSession.php line 44
at StartSession->getSession(object(Request)) in StartSession.php line 30
at StartSession->startSession(object(Request)) in StartSession.php line 24
at StartSession->run() in AdminServiceProvider.php line 72
Alexander Zhuravlev
@SCIF
Mar 09 2016 05:05
@almassar , mac — в данном случае, подозреваю, цифровая подпись. Это он у тебя куки не может дешифровать?
Да, с куками головняк какой-то. Почисть их
Devalgo
@almassar
Mar 09 2016 05:06
@SCIF спасибо почистил куки заработало
KarmaBot
@KarmaBot
Mar 09 2016 05:06
Спасибо (+1) для @SCIF принято! Текущая карма +47.
JhaoDa
@jhaoda
Mar 09 2016 05:33
@SerafimArts не пашет твой вариант с оборачиванием
try {
    $response = $next($request);
} catch (Exception $e) {
    $response = $this->handleException($request, $e);
}
Ведь исходный обработчик ошибок первей моего срабатывает
AAmirOFF
@AAmirOFF
Mar 09 2016 05:39

Доброго времени суток пытаюсь поставить ларку терминал ругается на composer . пытаюсь обновить компосер

php composer.phar update

не обнавляет слышал что у компосера были какие то изменения
в чем может быть проблема

JhaoDa
@jhaoda
Mar 09 2016 05:42
@AAmirOFF в том, что композер обновляется не так
AAmirOFF
@AAmirOFF
Mar 09 2016 05:42
@jhaoda а как?
JhaoDa
@jhaoda
Mar 09 2016 05:43
@AAmirOFF а ты у него спроси список команд и почитай
Kirill Nesmeyanov
@SerafimArts
Mar 09 2016 06:03
@jhaoda хммм
ну я как-то делал так, что бы стандартный хендлер не срабатывал
приду на работу - скажу точнее
Ivan
@Hunternnm
Mar 09 2016 06:54
Боброе утро!
@AAmirOFF как ругается то?
AAmirOFF
@AAmirOFF
Mar 09 2016 06:57
все ершил уже
решил*
Soprun Vladislav
@vlsoprun
Mar 09 2016 06:58
Всем доброе утро :smile:
D3-FC
@D3-FC
Mar 09 2016 07:20
Доброе
Ivan
@Hunternnm
Mar 09 2016 07:22
Боброе
Maxim
@Big-Shark
Mar 09 2016 07:31
@jhaoda @SerafimArts привет парни, задача, есть список домов в аренду, и их надо показывать клиенту, но проблемма в том что их надо сортировать по доступности в определенный день, доступность есть в кеше, либо через связь с таблицей букингов, но там надо както считать количество дней пересечения и по нему сортировать, как такое вообще можно сделать, и можно ли заюзать чтото типа сфинкса или эластика для этого
Kirill Nesmeyanov
@SerafimArts
Mar 09 2016 07:42
@jhaoda именно так я и сделал
*ну т.е. я пришёл на работу и посмотрел код
и тут висит обычный трайкетч
ларка 5.1
все ошибки обрабатывает, всё ок
@Big-Shark хз, надо разбираться и смотреть вообще всё (читай вникать в задачу), а с твоих слов слабо всё понятно
плюс я со сфинксом лет 5 не общался уже
JhaoDa
@jhaoda
Mar 09 2016 07:53
@SerafimArts ну фигня тогда какая-то
@SerafimArts т.е. у меня в catch не попадает, ибо исключение поймано и отренедерено уже
Ivan
@Hunternnm
Mar 09 2016 07:54
@Big-Shark я не в списке, но спрошу - несколько раз бронь может быть на 1 дом, верно?
JhaoDa
@jhaoda
Mar 09 2016 07:55
@SerafimArts 5.2, может это влияет
Maxim
@Big-Shark
Mar 09 2016 07:55
@Hunternnm да, на разные дни
Ivan
@Hunternnm
Mar 09 2016 07:55
@Big-Shark сейчас опишу ход своих мыслей, может что полезное будет
Maxim
@Big-Shark
Mar 09 2016 07:55
@Hunternnm давай)
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 07:56
Народ, кто-нибудь делал биллинг для рус. интернет магазинов (Карты + Я.Д. + WM + Qiwi)? Если да, то как лучше делать? Для каждой отдельно писать модуль или есть агрегаторы?
Ivan
@Hunternnm
Mar 09 2016 07:56
@Big-Shark только быстро вопрос - ты как хранишь занятость домов сейчас?
дата начала - дата конца или дата начала + кол-во дней?
Maxim
@Big-Shark
Mar 09 2016 07:57
@Hunternnm дата начали и дата конца
saori
@saorityan
Mar 09 2016 07:59
@Furdarius Можно через агрегаторы, можно отдельно. У агрегаторов чуть больше процент комиссии, но если оборот не миллионы проще их подключать.
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 08:00
@saorityan Подскажешь агрегаторов?
Вопрос по ним: как там реализуется? Они могут на карту все пересылать или именно на ту ситему с которой платеж пришел?
saori
@saorityan
Mar 09 2016 08:03
@Furdarius агрегатор который присылает на ту систему, с которой пришел платеж - очень крутой, я только 1 такого знаю. Обычно на твой расчетный счет идут выплаты независимо от того через что платили пользователи. На счет выбора агрегаторов не подскажу особо, подключал только тех кого скажут (сам не искал). На вскидку PayMaster недавно подключал.
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 08:04
@saorityan Если нет юр.лица то как будет?
И как PayMaster себя ведет? Там Qiwi и ЯД нету7
JhaoDa
@jhaoda
Mar 09 2016 08:07
@Furdarius робокассу бери, если процент не пугает
А то жалуются многие, что дорого, но тут я хз...
saori
@saorityan
Mar 09 2016 08:07
@Furdarius есть. и карты есть. Если нету юр.лица то мало вообще платежек подключишь))
Ivan
@Hunternnm
Mar 09 2016 08:08
@Big-Shark хм, идея вот какая: в фильтре юзверь указывает количество дней, на которое ему нужен дом. К примеру, у тебя есть дом А, у него бронь с 01.04 по 05.04 и с 10.04 по 15.04. Клиент ищет дом на 5 дней с 6 числа(т.е. он подходит). Я бы выбирал все дома, дата аренды которых заканчивается раньше 6 числа или начинается не раньше 11. Потом на php уже обработать данный массив и всё, чтобы запросы мега-сложные не городить(был подобный опыт - на стороне пхп работало быстрее)
@Big-Shark если кол-ва дней нету то просто показывать все дома с определенной даты и рядом на сколько их можно снять
И тогда можно без сфинкса и пр... Не думаю что будет работать долго. Как вариант - можно при изменение чего-либо сразу все писать в БД(от когда сколько чего свободно/занято). Но писать много
chumaty
@chumaty
Mar 09 2016 08:51
Добрый день, подскажите как сделать для JS ajax файлов мультиязычность? у меня в js файле который вытаскивается через ajax есть строка, она должна менятся в зависимости от того какой язык включен.
KarmaBot
@KarmaBot
Mar 09 2016 08:51
@chumaty, привет, как настроение?
NoViKoFF
@AndrewNovikof
Mar 09 2016 08:54
@chumaty смотря как ты делаешь локализацию...если из Бэка, то тебе нужно передавать уже локализованную строку в Ajax
chumaty
@chumaty
Mar 09 2016 08:55
@AndrewNovikof точно :) что-то я вообще не подумал, все вопрос откладывается, спасибо.
KarmaBot
@KarmaBot
Mar 09 2016 08:55
Спасибо (+1) для @AndrewNovikof принято! Текущая карма +13.
Maxim
@Big-Shark
Mar 09 2016 08:59
@Hunternnm спасибо, ну сейчас примерное так и есть, нот трабл в том что мне сейчас надо вывести на страницу 10 стран, и из каждой страны по 3 записи, и они долны быть также отсортированы, но из за филтрации на пхп. мне приходится вытаскивать все данные для кжадого региона
KarmaBot
@KarmaBot
Mar 09 2016 08:59
Спасибо (+1) для @Hunternnm принято! Текущая карма +103.
Ivan
@Hunternnm
Mar 09 2016 09:01
@Big-Shark т.е. запрос на каждую страну?
Maxim
@Big-Shark
Mar 09 2016 09:01
@Hunternnm угу
Ivan
@Hunternnm
Mar 09 2016 09:03
@Big-Shark так это ж не то... а если выбрать все страны сразу и через пхп отфильтровать на отдельные массивы? это итого 2 запроса. 1 - получить все страны для фильтра, 2 - все данные. Потом array_filter для разбиения на массивы и потом всё тот же фильтр на пхп
@chumaty погугли laravel js localization
Ivan
@Hunternnm
Mar 09 2016 09:08
@gaaarfild богатым будешь - без кота на аве не признал сразу
JonnyBu
@serg6854
Mar 09 2016 09:10
Привет всем. Как с помощью whereHas выбрать только те модели, у которых есть весь масив связанных айдишек?
То есть, например, у меня есть 2 модели со связями. Model1 -> tag1 & Model2 -> tag1, tag2. И мне надо чтобы при отправке в фильтр tag1, tag2, возвращалась только модель Model2. Или whereHas тут не поможет? Сейчас выбирается стразу и Model1 и Model2.
KarmaBot
@KarmaBot
Mar 09 2016 09:10
@serg6854, привет, как настроение?
Scrag
@verin86
Mar 09 2016 09:13

Добрый день! Не могу поставить композер The PHP exe file you specified did not execute correctly:
C:\OpenServer\modules\php\PHP-5.6\php.exe

Running it from the command line might highlight the problem.
Internal Error [ERR_INVALID], exit code 0

KarmaBot
@KarmaBot
Mar 09 2016 09:13
@verin86, привет, как настроение?
Scrag
@verin86
Mar 09 2016 09:13
@KarmaBot +
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 09:13

Народ, в доках весь вспомогательный код Типа Validator::extend или User::creating кладут в AppServiceProvider, где на самом деле такое хранить?

Отдельный провайдер сделать для каждого вида?

Soprun Vladislav
@vlsoprun
Mar 09 2016 09:13
@verin86 у OpenServer есть своя консоль используй ее
Scrag
@verin86
Mar 09 2016 09:14
@vlsoprun я ставлю композер установочником
@vlsoprun Composer-Setup
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 09:14
@vlsoprun @verin86 И даже больше... У опенсервера в доках есть как композер поставить с ним)
Soprun Vladislav
@vlsoprun
Mar 09 2016 09:16
@Furdarius @verin86 И еще больше... он там из коробки установлен ))
saori
@saorityan
Mar 09 2016 09:16
@verin86 композер в опенсервере уже стоит, запускать "Дополнительно"-> консоль
scullclever
@scullclever
Mar 09 2016 09:17
Компосер в ОпенСервере обновить надо перед использованием
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 09:17
@vlsoprun Ого, не знал) Давненько не пользовал
Scrag
@verin86
Mar 09 2016 09:17
@scullclever rfrbv j,hfpjv
@scullclever каким образом
[Composer\Downloader\TransportException]
The "https://packagist.org/packages.json" file could not be downloaded: SSL operati
on failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
Dinar Garipov
@garf
Mar 09 2016 09:20
@Hunternnm Я с радостью ))
Ivan
@Hunternnm
Mar 09 2016 09:20
@gaaarfild поделишься
Dinar Garipov
@garf
Mar 09 2016 09:21
@Hunternnm А как же ))
Mikail Aziev
@aziev
Mar 09 2016 09:26
всем привет. когда в пагинации становится больше примерно десяти страниц некоторые ссылки на них автоматически скрываются и появляются "...". Вопрос: можно ли как-то управлять этим количеством выводимых страниц? Про вариант написать свою пагинацию знаю, интересует именно настройка готового решения.
KarmaBot
@KarmaBot
Mar 09 2016 09:26
@aziev, здравствуй.
JhaoDa
@jhaoda
Mar 09 2016 09:27
@aziev нет
Scrag
@verin86
Mar 09 2016 09:29
ни в какую композер не ставится сертефикаты ругает
Maksim
@Stereotip42
Mar 09 2016 09:31

Парни. такой вопрос. Если вот каким-то таким образом логирвоание экшенов пользователя происходит, это ок ниок?

http://prntscr.com/aczvf7

т.е. в контроллере условно, в нужным методах это будет отрабатывать
JhaoDa
@jhaoda
Mar 09 2016 09:32
@Stereotip22 ну происходит, и? В отрыве от контекста нельзя сказать, ок или не ок
Maksim
@Stereotip42
Mar 09 2016 09:33
Ну именно в том вопрос, что просто в каждом нужном методе контроллера вызывать запись экшена.
Про то, что может какие-то варианты, аля создать карту экшенов, и при вызове писать лог в едином месте, или еще как =\
JhaoDa
@jhaoda
Mar 09 2016 09:34
@Stereotip22 мне больше по душе вариант с выкидыванием событий
Maksim
@Stereotip42
Mar 09 2016 09:36
@jhaoda а дашь ссылочку? Просто мне не только события orm-вские нужны, если ты про них
JhaoDa
@jhaoda
Mar 09 2016 09:36
@Stereotip22 а в доку загляни
@Stereotip22 еще можно ловить события фреймворка и в них искать контроллер/экшн, а потом на базе карты экшнов писать сообщения
Maksim
@Stereotip42
Mar 09 2016 09:39
@jhaoda вот так и думаю подмутить, всё понял
@jhaoda спасибо большое
KarmaBot
@KarmaBot
Mar 09 2016 09:39
Спасибо (+1) для @jhaoda принято! Текущая карма +697.
D3-FC
@D3-FC
Mar 09 2016 09:47

Привет всем. подскажите есть лив ларе хелпер чтобы преобразовать массив в коллекцию Определённый моделей?

foreach
new Medicine($arr)

чтобы самому не делать foreach

что-то было такое. помнится

KarmaBot
@KarmaBot
Mar 09 2016 09:47
@D3-FC, привет =)
Alexander
@Dualse
Mar 09 2016 09:50
@D3-FC Не совсем понял, что ты хочешь. Из массива коллекция создается так:
$collection = collect([1, 2, 3]);
Dinar Garipov
@garf
Mar 09 2016 09:50
@D3-FC collect(['foo' => 'bar'])
Soprun Vladislav
@vlsoprun
Mar 09 2016 09:51
This message was deleted
Oleg
@Malezha
Mar 09 2016 09:51
@D3-FC можно создать коллекцию, как сказали выше и потом провести transform.
D3-FC
@D3-FC
Mar 09 2016 09:52
вот кажется нашёл
$collection = Medicine::newCollection($array);
JhaoDa
@jhaoda
Mar 09 2016 09:53
@D3-FC и какая разница?:)
Правильно, никакой
Ivan
@Hunternnm
Mar 09 2016 09:53
Читаю про полнотекстовый поиск в постгресе... По идее про мускуль я забуду скоро
Удобненько
D3-FC
@D3-FC
Mar 09 2016 09:54
@jhaoda Ну мне нужно получить коллекцию именно Medicines чтобы потом передать её в saveMany
JhaoDa
@jhaoda
Mar 09 2016 09:54
@D3-FC и что?
D3-FC
@D3-FC
Mar 09 2016 09:55
разве collect($array) и $collection = Medicine::newCollection($array);
одно и тоже?
JhaoDa
@jhaoda
Mar 09 2016 09:55
@D3-FC полностью
D3-FC
@D3-FC
Mar 09 2016 09:55
а да
и что saveMany примет такую коллекцию?
@jhaoda @Malezha
JhaoDa
@jhaoda
Mar 09 2016 09:56
@D3-FC а ты проверь
D3-FC
@D3-FC
Mar 09 2016 09:56
@jhaoda логично
JhaoDa
@jhaoda
Mar 09 2016 09:56
Вообще, возьми за правило — сначала проверь, а если не попёрло, то тогда уж спроси
D3-FC
@D3-FC
Mar 09 2016 09:57
@jhaoda почему-то был уверен что не прокатит
blob
blob
не хочет оно такую коллекцию
NelinD
@NelinD
Mar 09 2016 10:02
https://habrahabr.ru/post/278673/
я вначале подумал грибок написал, но нет
D3-FC
@D3-FC
Mar 09 2016 10:02
говорит что это массив
Oleg
@Malezha
Mar 09 2016 10:03
@D3-FC тебе нужно сформировать массив моделей, я тебе выше уже написал метод того же форыча у коллекции.
JhaoDa
@jhaoda
Mar 09 2016 10:04
@D3-FC @Malezha всё должно работать
Метод saveMany принимает и массив, и коллекцию
Если что-то не получилось, то виноват не ларавель
Oleg
@Malezha
Mar 09 2016 10:05
@jhaoda да, но в массиве/коллекции должны быть модели, а не другой массив с атрибутами, как у @D3-FC
JhaoDa
@jhaoda
Mar 09 2016 10:05
@Malezha ну я так полагал, что у него там модели. А откуда массив мог взяться?
Ааа...
Oleg
@Malezha
Mar 09 2016 10:06
@jhaoda это не ко мне, я исхожу из текста задачи, где фигурирует массив =)
JhaoDa
@jhaoda
Mar 09 2016 10:06
@D3-FC ты вообще какую-то дичь написал
D3-FC
@D3-FC
Mar 09 2016 10:07
@Malezha да вот к тому и говорю.
Вот это и хотел, чтобы не самому создавать массив из моделей. А какой-нибудь хелпер куда передал бы Model И массив c параметрами, иа потом это хелпер бы вернул коллекцию этих моделй
Oleg
@Malezha
Mar 09 2016 10:07
Да и по сути, saveMany == foreach $model->save()
JhaoDa
@jhaoda
Mar 09 2016 10:07
@D3-FC ещё раз — ты написал дичь
D3-FC
@D3-FC
Mar 09 2016 10:07
This message was deleted
JhaoDa
@jhaoda
Mar 09 2016 10:07
Не надо никаких хэлперов, надо головой думать, что пишешь
@D3-FC что такое $request? Это массив чего?
D3-FC
@D3-FC
Mar 09 2016 10:09
@jhaoda да знаю как это делается. Просто хотелось что-то типо вот такого
->saveMany(collect(new Medicine($params)));
JhaoDa
@jhaoda
Mar 09 2016 10:09
@D3-FC ты на вопрос ответь
D3-FC
@D3-FC
Mar 09 2016 10:09
$request - это массив
JhaoDa
@jhaoda
Mar 09 2016 10:09
@D3-FC прочитай вопрос внимательно
Сложный вопрос, видать...
D3-FC
@D3-FC
Mar 09 2016 10:11
оформлял красивенько
blob
JhaoDa
@jhaoda
Mar 09 2016 10:11
@D3-FC хватит картинки кидать
Чо, код кидать уже не модно?
D3-FC
@D3-FC
Mar 09 2016 10:12
Картинки выразительней)
JhaoDa
@jhaoda
Mar 09 2016 10:12
@D3-FC а в зал славы не хочешь? Вот он, справа →
D3-FC
@D3-FC
Mar 09 2016 10:12
@jhaoda а чем картинки мешают?
JhaoDa
@jhaoda
Mar 09 2016 10:14
@D3-FC короче, ты создал коллекцию из массива, а не из моделей. Модели за тебя кто будет создавать на основе этого массива?
Oleg
@Malezha
Mar 09 2016 10:14
@D3-FC http://laravel.io/bin/yGmX7 -> набросанный хелпер.
Неужели было так сложно?
D3-FC
@D3-FC
Mar 09 2016 10:16
@Malezha Да да вот такой хелпер и искал. Дело не втом что сложно. Сам так и делаю. Но вот задался вопросм неужели похожего нет под капотом уже готового?
правда атрибуты задаю через конструктор
new Medicine($params)
Maxim
@Big-Shark
Mar 09 2016 10:21
@Hunternnm а как получить все данные, там будет запрос ан страну, и по запросу на каждую страну дополнительно, с сортировкой на пхп
D3-FC
@D3-FC
Mar 09 2016 10:24
@jhaoda спасибо
KarmaBot
@KarmaBot
Mar 09 2016 10:24
Спасибо (+1) для @jhaoda принято! Текущая карма +698.
Denys
@dfinchenko
Mar 09 2016 10:28
Всем привет, такой вопрос: где хранить лучше кастомную функцию, которая используется в нескольких контроллерах?
KarmaBot
@KarmaBot
Mar 09 2016 10:28
@dfinchenko, здравствуй.
Soprun Vladislav
@vlsoprun
Mar 09 2016 10:29
@dfinchenko создай свой хелпер
@dfinchenko или лучше трейд-хелпер
JhaoDa
@jhaoda
Mar 09 2016 10:30
@vlsoprun
Kirill Nesmeyanov
@SerafimArts
Mar 09 2016 10:30
это хелпер-продажник, всё ок
JhaoDa
@jhaoda
Mar 09 2016 10:30
Ну только если так...
Dinar Garipov
@garf
Mar 09 2016 10:31
Помощник-продажник :)
Scrag
@verin86
Mar 09 2016 10:33
[Composer\Downloader\TransportException]
The "https://packagist.org/packages.json" file could not be downloaded: SSL operation fai
led with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
Kirill Nesmeyanov
@SerafimArts
Mar 09 2016 10:34
О, кто-то тоже накатил плагин для композера
Denys
@dfinchenko
Mar 09 2016 10:38
Всем спасибо ребята!
D3-FC
@D3-FC
Mar 09 2016 11:04
делаю миграцию на изменение типа колонки
предыдущий вид колонки
$table->float('package_price', 10, 5);
Меняю
$table->float('package_price', 10, 2)->change();
изменения не применяются. Лог чистый. Никаких эксепшинов нет.
doctrine/dbal v2.3.5
Anton Vorontsov
@symbios-zi
Mar 09 2016 11:06

написал Job и он выдает ошибку

  [ErrorException]                      
  Trying to get property of non-object

как такую ошибку отловить можно? :)

не могу найти баг
Dinar Garipov
@garf
Mar 09 2016 11:07
@symbios-zi Посмотри в storage.logs
D3-FC
@D3-FC
Mar 09 2016 11:08
@symbios-zi может просто через dd выведи, посмотри что за объект к кторому ты обращаешься
Dinar Garipov
@garf
Mar 09 2016 11:08
@D3-FC Если б строчку знал, вывел бы.
Anton Vorontsov
@symbios-zi
Mar 09 2016 11:11
в логе увидел только exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'Aws\Sqs\SqsClient' not found'
странно, я даже не задействовал AWS
Dinar Garipov
@garf
Mar 09 2016 11:12
@symbios-zi А это нынешний лог?
И ты значит используешь для очередей SQS
Anton Vorontsov
@symbios-zi
Mar 09 2016 11:13
@gaaarfild пофиксил. В итоге при запуске команды выдает ошибку а лог пустой
Anton Vorontsov
@symbios-zi
Mar 09 2016 11:34
почему то у меня ошибки типа Trying to get property of non-object вообще не пишутся никогда в лог. Я так и не понял внятный метод как отлавливать такого рода ошибки
даже строку не пишет
Anatoliy Kalugin
@monstrikus
Mar 09 2016 11:44

Всем привет. Вот так записываем в log :

Log::info('Log message', ['context' => 'Другая полезная информация.']);

а как прочитать из него информацию что бы получить коллекцию нужных записей. Спасибо.

KarmaBot
@KarmaBot
Mar 09 2016 11:44
@monstrikus, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 12:16
Народ, код ревью небольшой нужен. Как считаете говнокод ли?
    public function testShowUsersListWithStartId()
    {
        $users = factory(User::class, 5)->create();
        $start_id = $users[2]->id;

        $content = $this->call('GET', '/api/users?start_id=' . $start_id)->getOriginalContent();

        collect(json_decode($content))->each(function($user) use ($start_id) {
            $this->assertGreaterThan($start_id, $user->id);
        });
    }
Anton Vorontsov
@symbios-zi
Mar 09 2016 12:19
@Furdarius юнит тесты и не должны быть идеальными. Не стоит заморачиваться
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 12:31
@symbios-zi Понятно, хорошо, спасибо.
KarmaBot
@KarmaBot
Mar 09 2016 12:31
Спасибо (+1) для @symbios-zi принято! Текущая карма +78.
VadimDraganyuk
@VadimDraganyuk
Mar 09 2016 12:34
Привет. Что правильнее использовать в ларавел для работы кода в фоне но только на определенном роуте?
Maksim
@Stereotip42
Mar 09 2016 12:34

А что за прикол, парни?
http://prntscr.com/ad1m2c

В Файрфорксе показывает как надо, инт значение. А в хроме только bool =\

VadimDraganyuk
@VadimDraganyuk
Mar 09 2016 12:35
Т.е. если роут такой то запускать крон
Ivan
@Hunternnm
Mar 09 2016 12:35
@Big-Shark эм, только до пк добрался. А как ты запрос на страну получаешь то? Так же можно и на все получить... Потом разбить на массивы по странам и потом фильтр
Maxim
@Big-Shark
Mar 09 2016 12:36
@Hunternnm там трабл в том что домов на страну около 1к, а мне надо показать только грубо говоря около 30, и как бы 1к обьектов на пхп ворочить и сортировать не самая хорошая идея
@Hunternnm сделал сейчас так, 1.3 секунды на локалке отдача странички
Ivan
@Hunternnm
Mar 09 2016 12:36
@Big-Shark а приоритет домов есть какой-то?
Maxim
@Big-Shark
Mar 09 2016 12:37
@Hunternnm есть)
Ivan
@Hunternnm
Mar 09 2016 12:38
@Big-Shark значит брать по приоритету первую тысячу
хотя не
штук 100
Maxim
@Big-Shark
Mar 09 2016 12:38
@Hunternnm где гарантия что они будут свободны на нужные даты?
Ivan
@Hunternnm
Mar 09 2016 12:39
@Big-Shark а на уровне запроса сделать никак?
сейчас попытаюсь сделать
попутно с чтение доки по постгресу)
Maxim
@Big-Shark
Mar 09 2016 12:41
@Hunternnm можно наверное, но я пока не могу придумать, там проблема в том что я должен показывать все, только сортировать в нужном порядке
@Hunternnm если нужно было скрывать, я бы мог добавить джоин, и проверять пересечение, но тут проблемма в том что я должен считать количество дней пересечения как минимум, и по нему сортировать
NoViKoFF
@AndrewNovikof
Mar 09 2016 13:00
Всем привет!
KarmaBot
@KarmaBot
Mar 09 2016 13:00
@AndrewNovikof, и тебе привет ;)
Soprun Vladislav
@vlsoprun
Mar 09 2016 13:00
@AndrewNovikof Здорова
NoViKoFF
@AndrewNovikof
Mar 09 2016 13:01
Подскажите, в Eloquent есть реализация конкатенации полей. Например, телефон хранится в 3 полях country_code, operator_code, number - что нужно написать в селекте чтобы в выборке они были в 1 поле?
аля
select('country_code, operator_code, number as phone_number')
Maxim
@Big-Shark
Mar 09 2016 13:04
@AndrewNovikof у тебя элоквоент или дб? зачем тебе вонкатенация? может про гетеры почитать?
NoViKoFF
@AndrewNovikof
Mar 09 2016 13:05
@Big-Shark eloquent...геттеры, сейчас почитаю
ali
@gharach
Mar 09 2016 13:10
apache doesn't response sometimes and when i restart apache service everything is good
http://stackoverflow.com/questions/35892268
Ваня Devium
@webdevium
Mar 09 2016 14:22

привет ребята

подскажите, как barryvdh/laravel-debugbar для json ответов получить?
мне профайл лог нужен как раз для метода, который return json делает, без какой-либо view

Ivan
@Hunternnm
Mar 09 2016 14:27
@webdevium f12 в браузере?
NoViKoFF
@AndrewNovikof
Mar 09 2016 14:35
@Big-Shark так как запрос с джоинами, сделал вот так в select
DB::raw('CONCAT(phones.country_code, phones.operator_code, phones.number) AS Номер_телефона')
Maxim
@Big-Shark
Mar 09 2016 14:40
@AndrewNovikof ну так это уже не элоквоент, а ДБ
Anton Vorontsov
@symbios-zi
Mar 09 2016 14:41
@AndrewNovikof а чем акссессоры не подошли?
Vasiliy Romanov
@RootKeet
Mar 09 2016 15:26

Всем привет!

Auth::attempt(['vk'=>$id, 'password' => $pass])

Как сделать чтоб при входе через соц сеть он не проверял пароль, но чтобы проверял его при входе простым способом? Иначе если его убираю ошибка в этом файле EloquentUserProvider. Просто при регистрации через соц сеть поле пароля пустое остается

KarmaBot
@KarmaBot
Mar 09 2016 15:26
@RootKeet, привет =)
DevilMayCry94
@DevilMayCry94
Mar 09 2016 16:24
всем привет, кто то пользовался pusher.js?
KarmaBot
@KarmaBot
Mar 09 2016 16:24
@DevilMayCry94, привет, как настроение?
Pavel Kuzmin
@s00d
Mar 09 2016 16:24
Всем привет. Нужно в таблицу добавить поле id. В доках нашел только $table->string('name')->after('email'); тоесть добавит поле после email, а как добавить поле самым первым или хотябы перед, а не после. before пробовал, не сработало((
KarmaBot
@KarmaBot
Mar 09 2016 16:24
@Virus191288, здравствуй.
DevilMayCry94
@DevilMayCry94
Mar 09 2016 16:25
@s00d какая разница где поле стоит? в начале или в конце
Pavel Kuzmin
@s00d
Mar 09 2016 16:25
@DevilMayCry94 так красивее, разницы нет, но если нужно что-то в базе сделать физически удобнее видеть индекс первым
DevilMayCry94
@DevilMayCry94
Mar 09 2016 16:28
@s00d в mysql попробуй выполнить запрос ALTER TABLE table MODIFY email varchar(255) DEFAULT NULL AFTER id
Vasiliy Romanov
@RootKeet
Mar 09 2016 16:31
@DevilMayCry94 там нет вк
Pavel Kuzmin
@s00d
Mar 09 2016 16:31
@DevilMayCry94 через musql я умею, а через лару нет такой возможности?
DevilMayCry94
@DevilMayCry94
Mar 09 2016 16:32
кто пользовался pusher.js подскажите плиз, как подписаться на множество событии
@s00d думаю можно чр миграции попробовать
Andrei Sosnov
@atehnix
Mar 09 2016 16:33
@s00d не уверен, но попробуй $table->string('name')->first();
Pavel Kuzmin
@s00d
Mar 09 2016 16:34
@atehnix уже попробовал)) работает, жаль что нет в доках
@atehnix спасибо
KarmaBot
@KarmaBot
Mar 09 2016 16:34
Спасибо (+1) для @atehnix принято! Текущая карма +55.
Yassir21
@Yassir21
Mar 09 2016 16:41
Hi
Andrei Sosnov
@atehnix
Mar 09 2016 16:45
@Yassir21 Hi. This is a Russian chat.
Kirill Nesmeyanov
@SerafimArts
Mar 09 2016 16:47
@atehnix rly? o_0
I... I did not know it!!!
Sry =(
Dave
@aios
Mar 09 2016 16:49
@SerafimArts sry sry
Andrei Sosnov
@atehnix
Mar 09 2016 16:49
@SerafimArts Of course! Otherwise, why you and I speak English? So speak only in Russian chat rooms.
Kirill Nesmeyanov
@SerafimArts
Mar 09 2016 16:50
@atehnix hmmm
ur logic soooooo strange
Dave
@aios
Mar 09 2016 17:02
@SerafimArts vue.js бота хотим/ят/ю
Pavel Kuzmin
@s00d
Mar 09 2016 17:03
@aios я его пытался завести, отказался))
о блин. А тип столбца в таблице можно только так изменить DB::statement('ALTER TABLE `table` MODIFY COLUMN `name` INT(1)'); через Schema Builder нельзя?
Alexander
@Dualse
Mar 09 2016 17:07
@s00d Кстати, а почему ты думаешь, что в доках нету про ->first()?
Pavel Kuzmin
@s00d
Mar 09 2016 17:10
@Dualse действительно есть, по привычке в 4 версию зашел. Спасибо за подсказку
Alexander
@Dualse
Mar 09 2016 17:18
@s00d Так изменить тип поля. Прост пишешь тип, туда передаешь имя поля, которое хочешь изменить, и в конце ->change()
    $table->integer('name')->change();
Pavel Kuzmin
@s00d
Mar 09 2016 17:22
@Dualse неа, ошибку выдает(( так можно только размер поменять
Alexander
@Dualse
Mar 09 2016 17:23
@s00d Я только что сделал, успешно накатилась
Vasiliy Romanov
@RootKeet
Mar 09 2016 17:33
$model = User::where('vk', '=', $id)->first();
                    $model->vkontakte = $access_token;
                    $model->save();
                    if(Auth::loginUsingId($model->id,true)){

                        return redirect('/index');
                    }

Делаю так если вывести var_dump то

if(Auth::loginUsingId($model->id,true)){

true, но после редиректа говорит что пользователь не авторизован

Artemiy Ryabinkov
@Furdarius
Mar 09 2016 17:52

Нужно Dashboard накидать, бэкенд написал на ларе, щас перехожу к фронту. Хочу попробовать реакт. Нашел https://github.com/kriasoft/react-starter-kit но не пойму, они там навязывают Ноду для бэкенда?

Может посоветуете какой-нибудь реактовский starter kit, чисто на фронт? Или расскажете как вы делаете фронт?

Кто с фронтендом в близких отношениях, подскажите, пожалуйста)

Victor Golovko
@siptik
Mar 09 2016 18:07
This message was deleted
Vasiliy Romanov
@RootKeet
Mar 09 2016 18:08
@siptik return var_dump(Auth::check());
Victor Golovko
@siptik
Mar 09 2016 18:12
@RootKeet а что дебугбар говорит? посмотрите что в куках
Ваня Devium
@webdevium
Mar 09 2016 18:18
@Hunternnm хромовый дебаггер таймлайн sql запросов не покажет, к сожалению.
Vasiliy Romanov
@RootKeet
Mar 09 2016 18:27

@siptik

login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d
1
_token
ldDEa031MphtEmRy6EATUlYC4A4spPsomwEFkTZc
PHPDEBUGBAR_STACK_DATA
[]
Это после авторизации но до редиректа

Victor Golovko
@siptik
Mar 09 2016 18:27
@RootKeet ну а после редиректа что?
Vasiliy Romanov
@RootKeet
Mar 09 2016 18:31
@siptik
_token
9Onv64TYOQXBlqv7iG9JTghcPUaP88B9CFOC7PZ0
_previous
array:1 [ "url" => "http://rootkeet.ru/index" ]
flash
array:2 [ "old" => [] "new" => [] ]
id
1
url
array:1 [ "intended" => "http://rootkeet.ru/index" ]
PHPDEBUGBAR_STACK_DATA
[]
Victor Golovko
@siptik
Mar 09 2016 18:32
@RootKeet что в куках после редиректа?
и что в вкладке AUTH дебугбара
Denys
@dfinchenko
Mar 09 2016 18:36
Подскажите пожалуйста как связать две таблицы через третью таблицу. Есть events(event_id, event_name), person_event(event_id, person_id) и persons(parson_id, person_name). Тоесть выбираем одно событие и всех пользователей связанных с ним.
Denys
@dfinchenko
Mar 09 2016 18:50
@siptik спасибо, читал, но не очень понял. В модели создать метод связи и все? Вызываю event::find($id)->metod()
KarmaBot
@KarmaBot
Mar 09 2016 18:50
Спасибо (+1) для @siptik принято! Текущая карма +36.
Victor Golovko
@siptik
Mar 09 2016 18:57
@dfinchenko
$event =  event::find($id);

foreach ($event->persons as $person) {
    //
}
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 18:59

Просмотрел несколько ReactJS Starter Kit-ов, так вот они все имею функциональность сервера(На ноде), причем я не очень понимаю как вообще клиент там от сервера отделен!

Может есть стартер кит чисто как frontend часть?

Oscar
@OSDDQD
Mar 09 2016 19:02
@verin86 ну так в ошибке же всё написано. Ошибка при проверке сертификата. Загуглил решение за минуту: https://akrabat.com/ssl-certificate-verification-on-php-5-6/
@Furdarius я использовал такой: https://github.com/erikras/react-redux-universal-hot-example но он крайне рассширен, но подходил под мои нужды, сервер там только для бэка используется
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 19:11

@OSDDQD Тоже не пойму как его внедрить к себе...
К тому же, почему в стартер ките такой код global.socket = initSocket();? Оч. странно...
Ну то-есть мне надо просто удобно рендерить и динамически обновлять мой html, и иногда дергать серверное API что бы получить данные + делать это максимально быстро.
Именно минимальный функционал нужен.
Есть какой-нить такой стартер кит?

А на самом деле, лучше даже Laravel + ReactJS проект, что бы на архитектуру взглянуть

Oscar
@OSDDQD
Mar 09 2016 19:14
@Furdarius да условная документация тоже годный кит, laravel как backend в виде api (rest), react на фронтенде, я просто не понимаю, чего ты ожидаешь от стартер кита, лучше на документацию переключиться.
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 19:15
@OSDDQD Ее читаю, конечно. Ожида. увидеть структуру Frontend аппликухи, что бы появилось понимание, как вообще такие вещи делают
Oscar
@OSDDQD
Mar 09 2016 19:16
@Furdarius https://auth0.com/docs/quickstart/spa/react/php-laravel ну как пример вот такой тутор, касательно выбора структуры, то тут единой таблетки нету, документация + репы на гитхабе и подглядывать туда
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 19:18

@OSDDQD Это не совсем такой тутор) Это доки к либе какой-то...

Таблетки нету, то Best Practice должны быть...

slider23
@slider23
Mar 09 2016 19:44
Стартер кит для реакта, когда еще не очень его знаешь - это тупиковый путь.
Все, что нужно - 1. понять, как собирается-компилится проект на реакте, найти где-нить типовой gulpfile.js. 2. поставить https://github.com/laracasts/PHP-Vars-To-Js-Transformer , чтобы можно было сообщать джаваскрипту начальные значения с сервера 3. почитать доку по реакту - разбить приложение на составные части, оформить все в компоненты, договориться самому с собой, как данные будут из главной компоненты приходить в чайлды - пропсами, или через redux
slider23
@slider23
Mar 09 2016 19:51
И всё. Во вьюхе, где у тебя будет находиться реакт-приложение, пишешь <div id="xxxx"> , на этот див вешаешь главный компонент. Контроллер передает в эту вьюху при помощи вышеупомянутого пакета некие начальные данные, главный реакт-компонент читает эти данные как window.some_variable
Да, еще можно поставить https://github.com/aaronlord/laroute , если у тебя все роуты именованные - чтобы по этим именам обращаться в джаваскрипте, а не прямые урлы там хардкорить
Dinar Garipov
@garf
Mar 09 2016 20:23
@slider23 Ты живой!!!
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 20:34
@slider23 Типовой гулп-файл бы мне очень помог, только хз где его найти
Vasiliy Romanov
@RootKeet
Mar 09 2016 20:35
@siptik Спасибо
KarmaBot
@KarmaBot
Mar 09 2016 20:35
Спасибо (+1) для @siptik принято! Текущая карма +37.
Artemiy Ryabinkov
@Furdarius
Mar 09 2016 20:36

Еще кстати вопрос, а React c Bootstrap'ом можно использовать? Для этого не придется весь бутстрап в компоненты отдельные загонять?

Впрочем, там же просто классы, так что, все-таки, разницы нет наверное

Alexander
@xxxcoltxxx
Mar 09 2016 20:39

Привет! Есть спецы по angularjs? В их канале как-то мёртво, а тут, смотрю, фронтэндщики есть)
Вот такая неприятная мелочь с ui.router:

$stateProvider
    .state('main', {
        url: '/main',
        views: {
            '@': {
                templateUrl: currentUrl + '/main-info',
                controller: defaultCtrl
            }
        }
    })
    .state('main.participants', {
        url: '/participants/:type',
        views: {
            'slide@': {
                templateUrl: '/projects/participants',
                controller: 'ParticipantsCtrl'
            }
        },
        onExit: hideSlide
    })

При переходе например с #/main на #/main/participants/contacts загружается не только main.participants, но и main перезагружается. При переходе сразу на #/main/participants/contacts main загружается дважды.
Кто-нибудь решал подобную проблему?

Жезлов Дмитрий
@jooble
Mar 09 2016 20:41
Здравствуйте, я работаю со spring mvc, и вывожу в jsp, таблицу с внешним ключем, как мне внешний ключ заменить на значение этого ключа?
KarmaBot
@KarmaBot
Mar 09 2016 20:41
@jooble, и тебе привет ;)
Anton Vorontsov
@symbios-zi
Mar 09 2016 20:42
@xxxcoltxxx @jooble ребят, а вы не попутали?
Alexander Zhuravlev
@SCIF
Mar 09 2016 20:42
@jooble , фигасе. Отличное место чтобы спросить про яву в пхп чатеге
Anton Vorontsov
@symbios-zi
Mar 09 2016 20:42
spring, angular
Жезлов Дмитрий
@jooble
Mar 09 2016 20:43
:D
Victor Golovko
@siptik
Mar 09 2016 20:43
да, сегодня какой то вечер фронт енда
Жезлов Дмитрий
@jooble
Mar 09 2016 20:43
Простите,
Alexander
@xxxcoltxxx
Mar 09 2016 20:45
@symbios-zi А чё посмотрел последние 10 сообщений - фронт) Чем я то хуже)
Denys
@dfinchenko
Mar 09 2016 20:45
Все никак не могу понять. Есть таблицы - events(event_id, event_name), person_event(event_id, person_id) и persons(person_id, person_name). Необходимо получить всех persons для одного events. Написал в модели events - return $this->belongsToMany('App\Person', 'App\personEvent', 'event_id', 'person_id'); Теперь в контроллере пишу - $event = event::find($id)->persons(); Как дальше подскажите пожалуйста
Anton Vorontsov
@symbios-zi
Mar 09 2016 20:46
мужики, можно ли под FreeBSD 7 скомпилировать iptables от линукс?
@dfinchenko во первых почему в таблице events у тебя event_id, а не просто id?
во вторых можно и код было бы оформить. читать вообще нереально такую портянку :)
Denys
@dfinchenko
Mar 09 2016 20:48
@symbios-zi глубоко извиняюсь за такое ужасное оформление, с моб не смог разобраться как это сделать.
@symbios-zi к сожалению таблицы я не создавал, а достались в наследство с полями.
Alexander
@xxxcoltxxx
Mar 09 2016 20:50
@symbios-zi ipfw юзай
@symbios-zi Если надо iptables - ставь линукс)
чёт правда непрофильный какой-то вечер)
Anton Vorontsov
@symbios-zi
Mar 09 2016 20:52
@dfinchenko
events(id, event_name)
persons(id, person_name)
// relation
$this->belongsToMany(App\Person::class, App\personEvent::class, 'event_id', 'person_id')

// получаем данные вместе. 
event->with('persons')->whereIn('id', $id);
Alexander Zhuravlev
@SCIF
Mar 09 2016 20:52
@dfinchenko , чтобы получать связь — нужно обращаться к свойству, а не к связи.
Anton Vorontsov
@symbios-zi
Mar 09 2016 20:52
примерно так, только свои названия полей верни
Alexander Zhuravlev
@SCIF
Mar 09 2016 20:53
@dfinchenko , $persons = event::find($id)->persons;
Anton Vorontsov
@symbios-zi
Mar 09 2016 20:53
или даже через with
@SCIF насколько я помню какой то косяк был find и relation
Alexander Zhuravlev
@SCIF
Mar 09 2016 20:53
@symbios-zi , о чём ты говоришь? Человеку нужно получить связь для одной сущности. Просто lazy-load'а достаточно
Alexander
@xxxcoltxxx
Mar 09 2016 20:54
@symbios-zi find и relation никак не связаны. find добавляет условие по pk и делает сразу first. а relation - это relation)
Alexander Zhuravlev
@SCIF
Mar 09 2016 20:54
@dfinchenko , вот если ты это дело загонишь в цикл и будешь перебирать 100 событий на одной странице, то получишь 200 запросов, что не есть хорошо. И там уже нужно будет юзать with(), а для одной — просто получить связь и всё
Anton Vorontsov
@symbios-zi
Mar 09 2016 20:56
@xxxcoltxxx щас попробую эту проблему воспроизвести. возможно ошибаюсь
@xxxcoltxxx в курсе я что делает find )
Alexander
@xxxcoltxxx
Mar 09 2016 21:02
@symbios-zi Тогда какой баг у них может быть)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:02
странно, работает норм и так и так
блин почему в гиттере правую колонку нельзя скрыть
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:03
@symbios-zi , если не работает lazy-load — то это считай не работает пол орма :)
Denys
@dfinchenko
Mar 09 2016 21:03
@SCIF теперь чтобы мне отдать по api на фронтенд необходимо создать роут, подключить к нему контроллер с методом в котором возвращать в json - $persons = event::find($id)->persons;
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:03
@SCIF да я с этим не спорю.
@dfinchenko чувак, ты почитай хотя бы доку :)
Роман Сохарев
@greabock
Mar 09 2016 21:04
@SCIF я бы вообще запретил ленивую загрузку, на уровне ядра, если б такое было возможно
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:04
@dfinchenko , понятия не имею что тебе нужно нужно сделать. Ты же программишь
@greabock , да, да, я понимаю тебя.
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:04
@dfinchenko тут за тебя роуты писать не будут )
@greabock почему запретил бы?
Denys
@dfinchenko
Mar 09 2016 21:05
@symbios-zi не, не надо) я умею)
Роман Сохарев
@greabock
Mar 09 2016 21:06
@symbios-zi сейчас легче, но когда я только начинал с ларой работать и еще не всё понимал, это вызывало кучу проблем
например, куча запросов к бд в лупе
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:08
@greabock , ну если честно, то есть много опасных инструментов, правда ведь? :)
Denys
@dfinchenko
Mar 09 2016 21:08
не ругайте, ну не работал до этого с орм что ж поделаешь, учусь) с двумя таблицами все понятно, а вот с тремя не очень как все правильно организовать
Роман Сохарев
@greabock
Mar 09 2016 21:09
@SCIF именно по этому на пистолете есть предохранитель, а нож кладут в ножны
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:09
@dfinchenko , так тебе со связями помогли или нет? Конкретный вопрос — конкретный ответ. А уж про то как тебе что прокидывать и какие роуты, это всё-таки не конкретный вопрос
Роман Сохарев
@greabock
Mar 09 2016 21:10
@SCIF иначе, выстрел в ногу практически обеспечен )
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:10
@greabock , ааааа, понял. Предохранитель от lazy-load'а :)
$model = Model::find();
$model->yesIUnderstandThisFuckingLazyLoadDisadvanagesAndWantToUseIt();
$model->some_prop…
Denys
@dfinchenko
Mar 09 2016 21:11
@SCIF надеюсь помогли, завтра буду тестить на проекте. А по поводу роутов, я просто за ход действий спросил, так я то понимаю что где писать
Роман Сохарев
@greabock
Mar 09 2016 21:11
@SCIF именно :smile:
Denys
@dfinchenko
Mar 09 2016 21:12
@SCIF спасибо
KarmaBot
@KarmaBot
Mar 09 2016 21:12
Спасибо (+1) для @SCIF принято! Текущая карма +48.
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:12
@greabock ты бы через with делал?
Роман Сохарев
@greabock
Mar 09 2016 21:12
@symbios-zi ну или есть еще явный load
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:12
я вообще нервничать начинаю если у меня дублирующий запрос. Слава debugbarу
@greabock явный load только в кастомных связях модели делаю чтобы дать функционал для with
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:14
@symbios-zi , так иногда тебе прилетает что-то, а ты не знаешь. Либо в части запросов нужно, а в части нет. Отличная тема.
Роман Сохарев
@greabock
Mar 09 2016 21:15
Короче, сейчас это уже не проблема. Но вот когда начинал, я не один раз в это гуано наступал.
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:15
@greabock 800 запросов? :D
Dinar Garipov
@garf
Mar 09 2016 21:16
Самое большое количество запросов, которое я видел в реально рабочем проекте - 1080.
:)
Роман Сохарев
@greabock
Mar 09 2016 21:16
ну 800 не было, но до полтинника доходило
Dinar Garipov
@garf
Mar 09 2016 21:16
В этом не последнюю роль сыграл Lazy Loading
И неумелая работа с доктриной.
А еще наплевательское отношение ко всему этому ))
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:17
остоновись
Dinar Garipov
@garf
Mar 09 2016 21:17
Не могу )))
Ну ладно
Я спать :)
Всм пока )
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:17
@gaaarfild да я ж не про это )
стой, немец
Dinar Garipov
@garf
Mar 09 2016 21:18
СТОЮ!
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:18
@gaaarfild а есть ли смысл изучать для себя симфони чтобы продать себя потом дороже работадателю? )
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:18
Дддаа, доктрина, жадная загрузка. Слова слабо совместимые и вызывающие рвотные позывы
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:18
когда приду на собеседование, мол знаю
Dinar Garipov
@garf
Mar 09 2016 21:18
есть смысл изучать джаву )))
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:18
неее, я ее боюсь
Dinar Garipov
@garf
Mar 09 2016 21:18
Чтобы зарабатывать больше :)
Ну а так - да, безусловно
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:19
@symbios-zi , симфони и безотносительно работодателя полезный скилл
Dinar Garipov
@garf
Mar 09 2016 21:19
Я думаю, по сложности она на данный момент одна из наиболее высоких, наравне с зендом... наверно.
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:19
в симфони меня больше всего страшит доктрина
Dinar Garipov
@garf
Mar 09 2016 21:19
Так что после нее все будет проще ))
Доктрина и меня страшит )))
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:19
Но теперь есть симфони плагин для шторма и жизнь не совсем ужасна
Dinar Garipov
@garf
Mar 09 2016 21:19
Но ты попробуй. Многим нравится :)
Вдруг проникнешься отсутствием магических геттеров ))
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:20
@gaaarfild ну блин, одному тяжко. вот когда реальный проект и люди кругом, то кажется проще :)
Dinar Garipov
@garf
Mar 09 2016 21:20
Мне с одной стороны нравится, что можно спокойной сделать так, чтобы код весь не был подсвечен как ошибочный в шторме
Ну давай вместе че нить мутканем ))
И я бы заодно что нить понял :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:21
да запросто
Dinar Garipov
@garf
Mar 09 2016 21:21
Давай идею ))
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:21
надо только придумать что
Dinar Garipov
@garf
Mar 09 2016 21:21
БЛОГ? :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:21
@gaaarfild гостевую книгу!
:D
Dinar Garipov
@garf
Mar 09 2016 21:21
Сайт визитку!
Просто визитку
Даже не сайт :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:21
давай я придумаю что нибудь
и свяжемся :)
Dinar Garipov
@garf
Mar 09 2016 21:22
Лады. Может тогда сразу на php7?
Alexander Zhuravlev
@SCIF
Mar 09 2016 21:22

и свяжемся

Связанными программировать неудобно

Anton Vorontsov
@symbios-zi
Mar 09 2016 21:22
@gaaarfild естесственно бро, обижаешь
Dinar Garipov
@garf
Mar 09 2016 21:23
@SCIF это ты о чем? Мы не будем связаны. :))
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:23
а потом можно еще и grails испробовать ))) очередной клон рельсов
Dinar Garipov
@garf
Mar 09 2016 21:23
А ещё круто бы работать в джире. :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:23
там твоя любимая ява )
Dinar Garipov
@garf
Mar 09 2016 21:23
Связанной с гитхабом
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:24
@gaaarfild фуфуфу, как только вспомню джиру
Dinar Garipov
@garf
Mar 09 2016 21:24
И CI. :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:24
кошмары снятся
Dinar Garipov
@garf
Mar 09 2016 21:24
Зря ты так. Очень крутая штука
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:24
@gaaarfild ты имеешь ввиду bamboo?
Dinar Garipov
@garf
Mar 09 2016 21:24
А что именно тебя смутило?
Нет
Jira
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:24
@gaaarfild трекинг времени бесил постоянный
Это типа задачи и багтрекинг
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:25
@gaaarfild ну да я в ней и работал. система ведения проектов
Dinar Garipov
@garf
Mar 09 2016 21:25
Ну да
Плюс, ставишь хук на гит и он сам пулреквесты, коммиты и т.п. подтягивает к нужной задаче.
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:25
@gaaarfild так она еще же и вяжется с bamboo, это для CI
Dinar Garipov
@garf
Mar 09 2016 21:25
Ну Бабму - я хз
Лучше уж тревис какой нить
Он для опенсорса подойдет
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:26
Dinar Garipov
@garf
Mar 09 2016 21:26
@symbios-zi Кстати, можно сделать систему ведения инвойсов типа :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:26
о еще и конфлюенс помню их же, там мы писали wiki
Dinar Garipov
@garf
Mar 09 2016 21:26
Да, конфлюенс активно у нас используется всякими ПМами
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:27
@gaaarfild может лажавел напишем на симфони?
Dinar Garipov
@garf
Mar 09 2016 21:28
@symbios-zi Что это? :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:28
клон laravel который не удался
:D
Dinar Garipov
@garf
Mar 09 2016 21:28
Это я и один могу сделать :)
все уже изобретено)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:29
@gaaarfild вот видишь, у них 2 контрибьютера. И тебе нужен напарник
Dinar Garipov
@garf
Mar 09 2016 21:30
@Danan96 ->withFooBar('foo_bar'); ???
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:30
->withTitle('TinyLara :-D')
Dinar Garipov
@garf
Mar 09 2016 21:31
Блейда нет. Расходимся!
Vladislav
@Danan96
Mar 09 2016 21:31
A tiny view-loader used by Tinylara, fast and sexy! :)
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:31
ойвсе... пойду спать
Dinar Garipov
@garf
Mar 09 2016 21:31
И я пойду
Всем всего хорошего!
Anton Vorontsov
@symbios-zi
Mar 09 2016 21:31
всем спокойной ночи
Роман Сохарев
@greabock
Mar 09 2016 21:32
@symbios-zi @gaaarfild сладких )