These are chat archives for LaravelRUS/chat

6th
Jul 2015
Роман Сохарев
@greabock
Jul 06 2015 00:00
=))
JhaoDa
@jhaoda
Jul 06 2015 00:00
Ну и вы путаете код языка и локаль. ukr — код, uk-ua — локаль
Роман Сохарев
@greabock
Jul 06 2015 00:01
@jhaoda как ты любишь говорить, "не обобщай" ))
JhaoDa
@jhaoda
Jul 06 2015 00:01
@greabock хорошо, ты путаешь
Denis Isaychenko
@Rhincodon
Jul 06 2015 00:01
хы реально там цифра 1 есть, dd(1) сделал в том RedirectResponse, 2 единицы вывело )
JhaoDa
@jhaoda
Jul 06 2015 00:02
А, значит это не местоимение I...
Ну вот, источник ясен, но почему оно появляется... я такое вижу иногда, если запрос был аякс, а сервер в ответ пытается сделать редирект
Роман Сохарев
@greabock
Jul 06 2015 00:05
@jhaoda и кстати, ISO 639-1 (первая редакция) от 2002 года ))
JhaoDa
@jhaoda
Jul 06 2015 00:06
@greabock не первая, а текущая. Первая, как говорит вика, «1967 (как ISO 639)»
Роман Сохарев
@greabock
Jul 06 2015 00:07
Нет, ISO 639 - это просто стандарт. а циферъ в конце - номер редакции. То есть отредактировано было.
хотя...
JhaoDa
@jhaoda
Jul 06 2015 00:11
@greabock не суть, двухбуквенная база была заложена ещё 50 лет назад
Роман Сохарев
@greabock
Jul 06 2015 00:11
нет
ты прав
все же стандарты разные это...
извиняюсь, не верно понял текст когда-то. Сейчас в Бездонной посмотрел - это разные стандарты, редакции отдельно считаются.
JhaoDa
@jhaoda
Jul 06 2015 00:14
Возвращаясь к началу. Я считаю, что на по локали называть, тут Тэйлор малость не додумал
Роман Сохарев
@greabock
Jul 06 2015 00:14
угу
JhaoDa
@jhaoda
Jul 06 2015 00:15
Например, pt и pt-BR
Роман Сохарев
@greabock
Jul 06 2015 00:16
на самом деле, это вообще не очень к фрейму привязано, учитывая, что ты сам волен наывать папки, как в голову взбредет ))
JhaoDa
@jhaoda
Jul 06 2015 00:20
Это да, но тут же думать надо :) А народ не любит думать
Vitaly
@Modifikator
Jul 06 2015 00:21
тут где-то вроде проскакивала статейка про правильность использования транзакций в бд, напомните ссыль плиз?
Denis Isaychenko
@Rhincodon
Jul 06 2015 00:22
тут матерится можно? :)
я нашёл единичку б*л )
Vlad Shcherbin
@VladShcherbin
Jul 06 2015 00:22
@Modifikator она ? :)
Vitaly
@Modifikator
Jul 06 2015 00:23
@Rhincodon приветствуются только четырех-этажные)))
Роман Сохарев
@greabock
Jul 06 2015 00:23
@VladShcherbin тролль 80lvl ))
Vitaly
@Modifikator
Jul 06 2015 00:23
@VladShcherbin нет, не дока
Роман Сохарев
@greabock
Jul 06 2015 00:23
@Rhincodon дык что там с единичкой-то?
Denis Isaychenko
@Rhincodon
Jul 06 2015 00:24
видимо из-за этого у него страница и появлялась с редиректом, там php файл неправильный с единичкой вначале, а он там в файл лоадере return require $path;
посмотри ссылку что я скинул внимательно
Роман Сохарев
@greabock
Jul 06 2015 00:24
ахаха
АХАХХАХАХАХХАХА
Vlad Shcherbin
@VladShcherbin
Jul 06 2015 00:24
@Modifikator есть ещё такая
Роман Сохарев
@greabock
Jul 06 2015 00:24
муА-хахаха
кстати, у Криса была статейка одна - он редкий бред нес... я еще читал и думал, надо с вами поделиться. А потом потерял...
Vlad Shcherbin
@VladShcherbin
Jul 06 2015 00:26
@greabock ты, надеюсь, уведомил его об этом?)
Роман Сохарев
@greabock
Jul 06 2015 00:26
вот еще )
Vitaly
@Modifikator
Jul 06 2015 00:26
@VladShcherbin это тоже видел, смущает - 2 YEARS AGO, может где посвежее есть инфа?
Роман Сохарев
@greabock
Jul 06 2015 00:26
Это ж надо раскладку ума на буржуйский диалект переключать XD
@Modifikator ёлка кардинально не менялась уже очень давно
Vlad Shcherbin
@VladShcherbin
Jul 06 2015 00:28
@Modifikator у меня больше ничего в истории нет, тут уже вот так нужно сделать
Vitaly
@Modifikator
Jul 06 2015 00:31
@VladShcherbin гениальНО, спс :clap:
Denis Isaychenko
@Rhincodon
Jul 06 2015 00:32
то всё таки мелкая буква l была, создал реквест им.
Роман Сохарев
@greabock
Jul 06 2015 00:33
А я то думал, что L - Это характер редиректа )
Anton
@avesgit
Jul 06 2015 03:36
хеллоу, каким образом лучше реализовать защиту роутов в зависимости от привилегий?
Роман Сохарев
@greabock
Jul 06 2015 04:04
@avesgit middleware, очевидно
Anton
@avesgit
Jul 06 2015 04:11
@greabock ну это понятно а где инфу то по теме посмотреть, хотябы пример Админ Пользователь
Роман Сохарев
@greabock
Jul 06 2015 04:21
@avesgit Пишешь метод в модели пользователя, который проверяет роль

в роуте 'middleware' => 'role:admin'

в миддлваре:

public function handle ($request, $next, $role) 
{
     if(auth()->user()->hasRole($role))
     {
            returnt $next($request);
     }

     return redirect('home');
}

профит

Anton
@avesgit
Jul 06 2015 04:28
@greabock мегатенькс :)
NelinD
@NelinD
Jul 06 2015 07:12
Получение элементов из кэша с тэгами

Чтобы получить элемент кэша, вы должны указать все тэги, под которыми он был сохранен:

$anne = Cache::tags('people', 'artists')->get('Anne');

$john = Cache::tags(['people', 'authors'])->get('John');
Джентльмены , а по одному тегу или без тегов этих товарищей получить нельзя?
Gleb Voronov
@VGleb
Jul 06 2015 08:04
@NelinD "Чтобы получить элемент кэша, вы должны указать все тэги, под которыми он был сохранен" означает именно то, что нельзя
ребятке, кто подскажет, как лучше организовать деление по городам вида https://site.com/city/ ?
от города зависит показываемый контент, сайт остается тот же
NelinD
@NelinD
Jul 06 2015 08:30
Для сравнения, это выражение удалит только элементы с тэгом authors, таким образом "John" будет удален, а "Anne" нет:

Cache::tags('authors')->flush();
Т.е. удалить по одному тегу он может, а выбрать нет? Мне одному видится логическое несоответствие??
slider23
@slider23
Jul 06 2015 08:34
Тэги кэша неюзабельны
Забудь про них.
NelinD
@NelinD
Jul 06 2015 08:35
@slider23 и попыток вытянуть нету?
slider23
@slider23
Jul 06 2015 08:35
Мертворожденная непродуманная фича.
Maxim
@Big-Shark
Jul 06 2015 08:35
Есть любители твига?
NelinD
@NelinD
Jul 06 2015 08:36
@Big-Shark зазываешь в клуб?)
Maxim
@Big-Shark
Jul 06 2015 08:36
@NelinD ненене, не люблю я твиг, как и блейд собственно)
Alexandr Chernyaev
@tabuna
Jul 06 2015 08:37
Ребят подскажите пожалуйста кеширование запросов работает если использую ORM?
TimeTable::remember(10)->distinct()->lists('specialization')->all()
Maxim
@Big-Shark
Jul 06 2015 08:37
@tabuna работает
NelinD
@NelinD
Jul 06 2015 08:38
@Big-Shark вроде же выпилили?
Vladimir Yuldashev
@vyuldashev
Jul 06 2015 08:38
Cache::remember(‘users’, function(…)) ?
Maxim
@Big-Shark
Jul 06 2015 08:38
@NelinD кэш? разве?
NelinD
@NelinD
Jul 06 2015 08:39
@Big-Shark в смысле при запросе
Maxim
@Big-Shark
Jul 06 2015 08:40
@NelinD хм, возможно ты и прав
Arty Cake
@ArtyCake
Jul 06 2015 08:44
Добрый
Подскажите, есть ли для laravel 5
готовые правила code sniffer и mess detector
webvolant
@webvolant
Jul 06 2015 09:06
Всем привет! подскажите файл менеджер для laravel 4
GrinRom
@GrinRom
Jul 06 2015 09:10
Добрый день, господа.
Подскажите пожалуйста, пытаюсь установить homestead, но на этапе homestead init возникает ошибка "homestead" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. как с ней справиться?
я так понимаю, необходимо в системных настройках windows дописать в переменную PATH адрес, но какой?
JhaoDa
@jhaoda
Jul 06 2015 09:22
@Big-Shark не «возможно», а прав
slider23
@slider23
Jul 06 2015 09:25
@GrinRom C:\Users\username\AppData\Roaming\Composer\vendor\bin
это не только для homestead , но еще и для разных других композеровских штук нужно
GrinRom
@GrinRom
Jul 06 2015 09:31
@slider23 спасибо
Artemy
@lartie
Jul 06 2015 09:37
Привет все.
Как в 5.1 сделать проверку url на csrf?
JhaoDa
@jhaoda
Jul 06 2015 09:42
@artemiydeveloper во-первых, нельзя проверить url. Можно проверить запрос.
Artemy
@lartie
Jul 06 2015 09:43
Ну я это и имел ввиду.
JhaoDa
@jhaoda
Jul 06 2015 09:44
@artemiydeveloper во-вторых, проверка включена изначальна для всех POST, PUT и DELETE запросов. Но ты бы это знал, если бы хотя бы открыл доку
Artemy
@lartie
Jul 06 2015 09:45
Мне нужно для get запроса.
JhaoDa
@jhaoda
Jul 06 2015 09:45
@artemiydeveloper зачем?
Artemy
@lartie
Jul 06 2015 09:46
Чтобы нельзя было дать линк допустим на /auth/logout
JhaoDa
@jhaoda
Jul 06 2015 09:46
@artemiydeveloper зачем? Это решается просто проверкой, имеет ли юзер права на логаут
Т.е. по ссылке он пусть ходит, но выполнить действие он не сможет. Не надо изобретать велосипед...
slider23
@slider23
Jul 06 2015 09:48
Делай logout кнопкой и обрабатывай как post
А что такого ужасного, что кто-то сможет сделать логаут кому-то при помощи csrf ?
Artemy
@lartie
Jul 06 2015 09:49
@jhaoda Эммм. И что это даст? Пользователь злогинен я ему даю линк в любой соц сети или еще как, он переходит и скрипт выполнится.
@slider23 я думаю, это не хорошо.
slider23
@slider23
Jul 06 2015 09:50
Ничего страшного в этом нет, но если хочешь - делай логаут кнопкой/POSTом.
JhaoDa
@jhaoda
Jul 06 2015 09:50
@artemiydeveloper ты не понимаешь, что такое CSRF?
Artemy
@lartie
Jul 06 2015 09:51
@jhaoda, мне кажется это ты чего то тут не понимаешь.
slider23
@slider23
Jul 06 2015 09:51
@jhaoda ну вообще-то он прав.
Yura Borue
@yuraborue
Jul 06 2015 09:51
@artemiydeveloper Так в чем проблема? делай логаут по посту, дашь ссылку в соц.сети - он увидит 404, а в посте будет защита от csrf
Artemy
@lartie
Jul 06 2015 09:52
@yuraborue, просто хотел узнать как через гет реализовать
JhaoDa
@jhaoda
Jul 06 2015 09:52
@slider23 в чем он прав? что идиот самолично нажмет на ссылку, которую видит, а не которая скрыта в недрах формы?
slider23
@slider23
Jul 06 2015 09:52
csrf - это дергание с другого сайта ссылки, которая у тебя что-то делает деструктивное.
Yura Borue
@yuraborue
Jul 06 2015 09:53
@artemiydeveloper в целом можешь сделать свой отдельный мидлвар и описать там логику проверки) Но светить токен в урл - это тоже шанс для уязвимости
Artemy
@lartie
Jul 06 2015 09:54
@yuraborue да ладно уж, буду постом передавать тогда. так проще выйдет.
JhaoDa
@jhaoda
Jul 06 2015 09:57
А можно проверять реферрер. Для логаута достаточная защита, если параноик
Denis Isaychenko
@Rhincodon
Jul 06 2015 10:02
Некоторые проблемы нужно решать по мере поступления я думаю, а не заранее )
butschster
@butschster
Jul 06 2015 10:14
@artemiydeveloper Расскажи в чем смысл делать логаут с проверкой CSRF?
Artemy
@lartie
Jul 06 2015 10:17
@butschster я выше ведь объяснил.
@butschster Пользователь залогинен я ему даю линк в любой соц сети или еще как, он переходит и скрипт выполнится.
JhaoDa
@jhaoda
Jul 06 2015 10:19
@artemiydeveloper а зачем он тыкает линк там линк? Глаз и мозгов нет?
Тогда никакая защита не поможет,..
Artemy
@lartie
Jul 06 2015 10:20
@jhaoda я могу сделать такой линк где то на другом сайте
JhaoDa
@jhaoda
Jul 06 2015 10:20
@artemiydeveloper ну я предложил же выше — если параноик, то проверяй реферрер при логауте
slider23
@slider23
Jul 06 2015 10:20
Ну зайдет пользователь снова на сайт, а он там разлогинен. Что в этом плохого все-таки ?
JhaoDa
@jhaoda
Jul 06 2015 10:21
@artemiydeveloper слушай, ты прям как комсомолец: сам себе проблему придумал и теперь мучаешься
slider23
@slider23
Jul 06 2015 10:21
У юзеров глаз и мозгов нет, это абсолютно нормально.
Artemy
@lartie
Jul 06 2015 10:21
@jhaoda я уже все сделал
slider23
@slider23
Jul 06 2015 10:21
Нам все это надо предусматривать и блокировать.
butschster
@butschster
Jul 06 2015 10:22
@artemiydeveloper ну вот нажал он линк и что произойдет? Чем это плохо?
Artemy
@lartie
Jul 06 2015 10:22
Плохого тут то, что это все же уязвимость, если она не вредит сильно, это еще не значит, что ее нужно оставлять.
butschster
@butschster
Jul 06 2015 10:38
@artemiydeveloper ну я не против, ты приведи реальный пример ее использования помимо того, что пользователь будет разавторизован. С таким успехом можно всем подряд слать ссылку на сброс авторизации на google или yandex
Artemy
@lartie
Jul 06 2015 10:43
@butschster попробуй дать мне линк на разавторизацию гугл или яндекс.
Yura Borue
@yuraborue
Jul 06 2015 10:44
действительно)
Artemy
@lartie
Jul 06 2015 10:45
@butschster господи, я думал там все нормально
@butschster как пример хорошего тона. https://login.vk.com/?act=logout
@butschster и яд тоже все хорошо делает. https://passport.yandex.ru/passport?mode=logout
butschster
@butschster
Jul 06 2015 10:47
@artemiydeveloper я первый раз сталкиваюсь с проблемой того, что тебя может разавторизировать на сайте, за 30 лет мне ни разу не прислали линк чтобы сбросить авторизацию, на гугл можно всем слать, только это никто ни делает, а ты устроил паранойю, что на твоем проекте будет дыра :)
в общем переоптимизация...
butschster
@butschster
Jul 06 2015 10:53
@artemiydeveloper Я то собственно не имею ничего против того, что ты это хочешь предусмотреть, но я так и не услышал доводов реальных в пользу.
Artemy
@lartie
Jul 06 2015 10:55
@butschster я назвал довод, что он для вас ничего не значит, это не моя проблема.
NelinD
@NelinD
Jul 06 2015 11:00
@artemiydeveloper правильно, не твоя, у тебя другие)
butschster
@butschster
Jul 06 2015 11:09
@artemiydeveloper извини пожалуйста, что я такой глупый, программирую всего месяц, вот и вопросами глупыми достаю.
Vitalii Zagorodniuk
@xZ1mEFx
Jul 06 2015 11:30
Люди, подскажите плз где в 5 ларавеле можно (нужно, правильно) расположить файлик со своими функциями (не класс) и как его подключить
Vitalii Zagorodniuk
@xZ1mEFx
Jul 06 2015 11:38
@Rhincodon Спасибо большое!!
Dinar Garipov
@garf
Jul 06 2015 12:01
Всем привет.
$article = Cache::rememberForever('article_' . $article_id, function () use ($article_id) {
                return Article::find($article_id);
            });
Что будет, если я для записи, полученной из кэша сделаю save()?
NelinD
@NelinD
Jul 06 2015 12:04
@gaaarfild мы все умрем?
@gaaarfild подозреваю что dirty поля обновятся
Dinar Garipov
@garf
Jul 06 2015 12:05
@NelinD то есть сохранение в БД произойдет?
Или сохранение в кэш?
NelinD
@NelinD
Jul 06 2015 12:05
@gaaarfild а что мешает?
Dinar Garipov
@garf
Jul 06 2015 12:05
Да ничего не мешает
Но что будет-то? :)
NelinD
@NelinD
Jul 06 2015 12:05
будет запись вбд)
Dinar Garipov
@garf
Jul 06 2015 12:06
Обещаешь? :)
NelinD
@NelinD
Jul 06 2015 12:06
@gaaarfild но что-то куда-то точно впишется)
Dinar Garipov
@garf
Jul 06 2015 12:07
Вот узнать бы, что куда ))
Щас узнаю ))
NelinD
@NelinD
Jul 06 2015 12:07
@gaaarfild подозреваю появится йода и впишет нам обоим)
Dinar Garipov
@garf
Jul 06 2015 12:08
@NelinD Ну вот и узнал )))
Если делаешь просто инкремент или какое нибудь значение основанное на старом значчении, то не делай так.
butschster
@butschster
Jul 06 2015 12:09
@gaaarfild произодет запись в БД, модель нкиаким образов с кешем не связана. Потом из кеша ты получишь старые данные
Dinar Garipov
@garf
Jul 06 2015 12:09
Запись произойдет.
Но значение для инкремента он возьмет из кэша
Например если количество просмотров записали в кэш равным одному.
А потом сделали
$article->views++; 
$article->save();
То сохранится значение 2 в бд
Но в кэше не изменится
И в следующий раз опять достанется 1.
И добавится +1
И опять сохранится 2
NelinD
@NelinD
Jul 06 2015 12:11
@gaaarfild ну это природа кеша)
Dinar Garipov
@garf
Jul 06 2015 12:11
Я осознаю. :)
butschster
@butschster
Jul 06 2015 12:11
@gaaarfild не понимаю к чему ты это говоришь, я ровно тоже и сказал и это логично
Dinar Garipov
@garf
Jul 06 2015 12:12
Я к тому, что какие он данные берет при сохранении. Старые или актуальные
Ладно
Спасибо.
butschster
@butschster
Jul 06 2015 12:13
@gaaarfild ну если ты данные в кеше не обновил, почему он возьмет актуальные? Актуальные он возьмет в том случае, если ты повесишь на сохранение данных модели event на сброс кеша по этому ключу
Dinar Garipov
@garf
Jul 06 2015 12:13
@butschster Ну просто можно было предположить 2 сценария при вызове save();
Уточню, именно для инкремента
Мы просто берем параметр и записываем его в БД.
Либо, мы инкрементим конкретно значение в БД
Ну короче, сейчас уже понимаю, что второй вариант вообще никак не вариант
butschster
@butschster
Jul 06 2015 12:14
@gaaarfild с какой стати? Ты данные в кеш пожизненно сохраняешь, он их хранит там пока кеш не сбросить, а по какому принципу модель должна сбросить кеш, если она о нем ничего не знает?!
Dinar Garipov
@garf
Jul 06 2015 12:14
В любом случае, спасибо
Причем тут кэш?
Прочти еще раз то, что я написал сейчас
Andrey Fedotov
@protectedfor
Jul 06 2015 12:18
как выбрать следующую/предыдущую запись?
butschster
@butschster
Jul 06 2015 12:18
@gaaarfild ты начал с кеша, а закончил за упокой :) В общем ок.
GrinRom
@GrinRom
Jul 06 2015 12:18

Подскажите пожалуйста, немогу никак настроить homestead. Машина запускается, но в браузере приложение не открывается.

folders:
    - map: C:\projects
      to: /home/vagrant/Workspace

sites:
    - map: rus-info.localhost
      to: /home/vagrant/Workspace/rus-info/public

Настройка yaml. Проект лежит в C:/projects/rus-info/public (L5.1) Я правильно настроил для этого?

slider23
@slider23
Jul 06 2015 12:19
на локальной машине в hosts прописал соответствие rus-info.localhost и айпишника homestead ?
GrinRom
@GrinRom
Jul 06 2015 12:20
@slider23 да 192.168.10.10 rus-info.localhost
slider23
@slider23
Jul 06 2015 12:20
пингуется ?
GrinRom
@GrinRom
Jul 06 2015 12:21
@slider23 сейчас подниму заново и попробую
@slider23 нет, не пингуется
slider23
@slider23
Jul 06 2015 12:24
ну вот и нашлась причина
GrinRom
@GrinRom
Jul 06 2015 12:24
@slider23 а как найти почему и решить проблему?) Вроде все делал по инструкции
slider23
@slider23
Jul 06 2015 12:25
как найти - надо дебажить. перебирать по звену, пока не найдешь, где разрыв
192.168.10.10 пингуется ?
GrinRom
@GrinRom
Jul 06 2015 12:25
@slider23 он и не пингуется
slider23
@slider23
Jul 06 2015 12:26
а ,я думал, ты rus-info.localhost проверишь
GrinRom
@GrinRom
Jul 06 2015 12:26
rus info пингуется)
slider23
@slider23
Jul 06 2015 12:27
"вот это поворот"
GrinRom
@GrinRom
Jul 06 2015 12:27
все норма, не пингуется и он)
Пересохранил hosts
slider23
@slider23
Jul 06 2015 12:29
вообще, доменное имя rus-info.localhost странное. Почему не rus-info.dev например ? Меньше набирать.
Dinar Garipov
@garf
Jul 06 2015 12:29
@butschster Просто я порой сам не сразу понимаю, что у меня в голове происходит :)
slider23
@slider23
Jul 06 2015 12:29
Если ip не пингуется, надо идти в сетевые подключения и смотреть, какой ip на хосте у тебя.
Dinar Garipov
@garf
Jul 06 2015 12:29
А потом задаю вопрос,и все само раскладывается на места.
slider23
@slider23
Jul 06 2015 12:30
возможно, на 1.10 надо поменять хомстед.
ну и т.д.
GrinRom
@GrinRom
Jul 06 2015 12:31
@slider23 ip другойтам написал
он пингуется, попробовал заменить в hosts, не помогло
@slider23 кстати и этот пингуется, rus-info.localhost
@slider23 Homestead.yaml он берет из C:\Users\ng-777.homestead или C:\projects\Homestead\src\stubs когда я делаю vagrant up? (настройки дефолтные) с путями наверняка ведь проблема?
slider23
@slider23
Jul 06 2015 12:35
Из Users должен брать
В чем проблема - неизвестно, надо разбираться. Для начала добиться, чтобы запрос шел на ip homestead
GrinRom
@GrinRom
Jul 06 2015 12:36
идет
rus-info.localhost пингуется, как и ip
folders:
    - map: C:\projects
      to: /home/vagrant/Workspace

sites:
    - map: rus-info.localhost
      to: /home/vagrant/Workspace/rus-info/public
Я правильно понимаю, что этим я назначаю папку C:\projects в виндоусе, как /home/vagrant/Workspace на виртуалке, а потом делаю связь rus-info.localhost на C\projects\rus-info\public (С учетом назначения)?
iGloom
@iGloom
Jul 06 2015 12:56
господа, а кто-то сталкивался с тем, что Carbon выдает дату на 1 час вперед при использовании его как
Carbon::now('Europe/Moscow');
выдает время, спешащее на час вперед?
я так понимаю это связано с тем, что в октябре 2014 у нас в очередной раз натворили делов с временем
что надо обновить, чтобы привести это в порядок?
Maxim
@Big-Shark
Jul 06 2015 12:56
@iGloom обновить тайм зоны
NelinD
@NelinD
Jul 06 2015 12:56
@iGloom винда?
iGloom
@iGloom
Jul 06 2015 12:57
@NelinD Win-7, да. на продакшне убунта, там все будет ок, я так понимаю. а для винды какое-то KB надо конкретное скачать?
NelinD
@NelinD
Jul 06 2015 12:58
@iGloom обновить пых
@iGloom там таймзоны в расширении зашиты
iGloom
@iGloom
Jul 06 2015 12:59
@NelinD а, понял. спасибо!
GrinRom
@GrinRom
Jul 06 2015 13:03
@slider23 попробовал на виртуальной машине сделать ls, там нет папок, которые должны быть
@slider23 там вообще нет папок(
slider23
@slider23
Jul 06 2015 13:04
Забей на него тогда, поставь всю обертку девелоперскую на локальной машине :)
GrinRom
@GrinRom
Jul 06 2015 13:06
@slider23 проблема в слэшах, если ставить по unix, то не увидит, если по windows, то проблемы в проекте начинаются, роуты не видит
@slider23 там отдельные проблемы, первый проект на l5 работает отлично, а второй с таким же конфигом nginx выдает input specific
slider23
@slider23
Jul 06 2015 13:07
поставь гит, он тянет юниховые утилиты и конфиги, все ок становится со слешами
GrinRom
@GrinRom
Jul 06 2015 13:08
@slider23 и гит стоит)
slider23
@slider23
Jul 06 2015 13:08
у меня на винде все работает ок
GrinRom
@GrinRom
Jul 06 2015 13:08
ща попробую еще разок
@slider23 он мне во че выдаетrequire(C:\projects\rus-info\vendor/laracasts/flash/src/Laracasts/Flash/functions.php): и такого рода ошибки
я так понимаю, что проблема в слешах - то в одну сторону, то в другую
Max
@roquie
Jul 06 2015 13:15
Всем привет! Никто не сталкивался с неработающим MassAssignmentException если модель передать инжектом в экшен?
butschster
@butschster
Jul 06 2015 13:17
@Roquie Что подразумевается под неработающим?
Max
@roquie
Jul 06 2015 13:17

пример:

use Illuminate\Http\Request;
public function postUser(Request $p, User $user)
    {
        $user = $user->where('id', Auth::id());
        $user->update($p->all());
}

ошибок нет, филлаблы в модели не прописаны.
Теперь делаем так:

 public function postUser(Request $p)
    {
        auth()->user()->update(
            $p->all()
        );
}

и ловим искомую ошибку...

везде protected $guarded = ['*'] стоит со звездочкой.
butschster
@butschster
Jul 06 2015 13:19
@Roquie ох что сейчас будет :) Т.е. ты все поля защитил от записи, $fillable я так понял ты не заполнял?
Max
@roquie
Jul 06 2015 13:20
@butschster $guarded = ['*'] эта штука стоит везде по умолчанию. Это норма. Я это написал к тому, что если поставить пустой массив, то все поля будут доступны для записи.
@butschster и $fillable я не заполнял. Специально их закомментил.
butschster
@butschster
Jul 06 2015 13:21
 /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [];

    /**
     * The attributes that aren't mass assignable.
     *
     * @var array
     */
    protected $guarded = ['*'];
Max
@roquie
Jul 06 2015 13:22
@butschster ну и ?:) я знаю это )
butschster
@butschster
Jul 06 2015 13:22
@Roquie ну а в чем проблема то тогда? Если поле не разрешено на заполнение, оно выкидывает ошибку MassAssignmentException
Max
@roquie
Jul 06 2015 13:23
@butschster можешь попробовать у себя, будет ли искомая ошибка массового заполнения полей, если использовать модель через аргумент метода.
@butschster проблема в том, что оно не выкидывает! )
butschster
@butschster
Jul 06 2015 13:25
@Roquie Пфф, так бы и написал, иначе твои слова можно двояко интерпретировать
Denis Isaychenko
@Rhincodon
Jul 06 2015 13:25
А меня больше всего это беспокоит Request $p :) классное название переменной, а чё не $z
butschster
@butschster
Jul 06 2015 13:26
@Rhincodon это $реквест
Max
@roquie
Jul 06 2015 13:26
@Rhincodon мне впадлу писать $post или $requestсильно длинно :) а вообще я такие переменные использую только для объектов и где сравнительно мало кода и понятно что оно значит :)
Dinar Garipov
@garf
Jul 06 2015 13:26
@Rhincodon Потому что $z уже занято для Response :)
Max
@roquie
Jul 06 2015 13:27
@butschster почему двояко?) я даже наглядный пример приводил )
Dinar Garipov
@garf
Jul 06 2015 13:27
@butschster пеквест :)
Max
@roquie
Jul 06 2015 13:27
@gaaarfild :)
butschster
@butschster
Jul 06 2015 13:29
@gaaarfild от чегоже? у него $p - это русская р, все норм.
Max
@roquie
Jul 06 2015 13:29
помойму я уже объяснил происхождение названия этой переменной >.<
ну как ктонить попробовал получить ошибку сказанным способом?
butschster
@butschster
Jul 06 2015 13:30
я тоже в KodiCMS все переменные на русском объявляю, чтобы попроще было программировать :)
Max
@roquie
Jul 06 2015 13:30
:worried:
butschster
@butschster
Jul 06 2015 13:31
@Roquie я бы дебагом проверил что возвращает реквест, может там нет данных и ошибки соответственно нет
Max
@roquie
Jul 06 2015 13:31
@butschster я бы не стал писать, если бы там небыло данных ...
все там есть, могу хоть скринами выслать
butschster
@butschster
Jul 06 2015 13:34
@Roquie ну ошибка всплывает в том случае, если count($this->fillable) == 0 && $this->guarded == ['*'];
вообще залез бы в код, поковырялся, это же лучше и полезней, чем ждать что за тебя кто-то там будет лазить. Хоть поймешь как что работает.
Max
@roquie
Jul 06 2015 13:35
я не жду, чтобы ктото полез в код, хочу просто убедиться, что не я один такой. И все.
@butschster все соответствует условию.
class User extends BaseModel implements AuthenticatableContract, CanResetPasswordContract {

    use Authenticatable, CanResetPassword;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
   /* protected $fillable = [
        'email',
        'login_user',
        'password',
        'first_name',
        'last_name',
        'patronymic'
    ];*/

    protected $guarded = ['*'];
}
... и нет, в BaseModel ничего нет. Она пуста и не виновата.
butschster
@butschster
Jul 06 2015 13:39
@Roquie ну так дебагом пройдись по стандартной модели по цепочки обновления записи и посмотри какое условие не срабатывает, это же быстрее и глядишь и ошибку сам найдешь, я обычно так и делаю,, заодно все внутренности изучил.
public function update(array $attributes = [])
    {
        if (!$this->exists) {
            return $this->newQuery()->update($attributes);
        }

        return $this->fill($attributes)->save();
    }
Max
@roquie
Jul 06 2015 13:40
@butschster эх. убедил :)
butschster
@butschster
Jul 06 2015 13:41
Ну вот смотри, допустим если запись не существует, то происходит оздание newQuery() и передача в него параметров, наверно дело в этом
а он в свою очередь создает объект Illuminate\Database\Query\Builder и вызывает в нем метод update
и получается метод update при несуществующий записи и не доходит до метода fill, который и должен вызывать ошибку
DenyZhirkov
@dolphin4ik
Jul 06 2015 13:44
Привет лараводы. Скорее всего вопрос уже задавался тут, а вот в нете внятного ответа не нашёл. Как сделать поддомены в L 4.2 и в 5+ ?
butschster
@butschster
Jul 06 2015 13:45
@Roquie попробуй ->fill($values)->save(); вместо update
Denis Isaychenko
@Rhincodon
Jul 06 2015 13:46
@Roquie ты когда делаешь $user->where('id', Auth::id()); — получаешь билдер и потом в нём продолжаешь цепочку ниже и на билдере делаешь update. А когда ты делаешь auth()->user() то получаешь User, а не билдер, соответственно на нём стоит защита.
butschster
@butschster
Jul 06 2015 13:47
@Rhincodon твой вариант правдоподобнее, я невнимателен
asvae
@asvae
Jul 06 2015 14:06
@dolphin4ik как это не нашел?
http://laravel.com/docs/5.1/routing#route-group-sub-domain-routing
DenyZhirkov
@dolphin4ik
Jul 06 2015 14:07
@Asvae оу! такая маленькая заметочка, в две строки, пропустил. а на 4.2 будет так же работать? Просто пару проектов на 4.2. нужно поддоменить
Max
@roquie
Jul 06 2015 14:20
@Rhincodon да, тоже догадался ... чертова магия >.<
emissar
@emissar
Jul 06 2015 14:29
@sleeping-owl сова, ты тут?
@sleeping-owl как настроить размеры фото, загружаемые через image/images? На ум приходит только в модели их обрабатывать при сохранении через field mutator, но здравый смысл подсказывает, что в модель это пихать несколько неверно.
Maxim
@Big-Shark
Jul 06 2015 14:37
@emissar разве в доке нет?
emissar
@emissar
Jul 06 2015 14:37
неа
dragonman123
@dragonman123
Jul 06 2015 15:13
Anyone online, I want some help..
JhaoDa
@jhaoda
Jul 06 2015 15:39
@dragonman123 it's russian chat
dragonman123
@dragonman123
Jul 06 2015 15:43
But stil, you can help me no.?
iGloom
@iGloom
Jul 06 2015 15:45
@dragonman123 maybe. but you better try laravel/laravel chat.
dragonman123
@dragonman123
Jul 06 2015 15:48
Ok.
iGloom
@iGloom
Jul 06 2015 16:18
а что за странная путаница возникает с доками по поводу Task Scheduling?
получается, что в 5.0 указан Command Bus, в доках 5.1 его уже нет, появились Jobs, о которых инфы как-то тоже нет
на стаковерфлоу - кто в лес, кто по дрова. где-то как решение указывается бесконечное создание Artisan Cli команд для любого крон-таска, где-то говорят, что надо делать Command, которые убрали в 5.1...
в общем вопрос звучит так - есть ли ссылочка, указывающая best way для Task Scheduling в 5.1?
или может кто-то на пальцах объяснит.
JhaoDa
@jhaoda
Jul 06 2015 16:38
@iGloom http://laravel.com/docs/5.1/queues#writing-job-classes — какой ещё инфы надо?
@iGloom в доках указаны два варианта — артизан-команды и анонимные функции. Никто не мешает из анонимки вызывать нужный Job.
iGloom
@iGloom
Jul 06 2015 16:42
@jhaoda ну то есть писать крон-задачи в Jobs - нормальная практика? просто с исчезновением из доки по 5.1 Command Bus и прочего я запутался чего-то
JhaoDa
@jhaoda
Jul 06 2015 16:46
@iGloom Command Bus работал через трейт, который никуда не делся, только имя сменил на DispatchesJobs
@iGloom по поводу «писать крон-задачи в Jobs» — не вижу проблем
Вот у меня юзера можно создать непосредственно при реге, из админки и из консоли
JhaoDa
@jhaoda
Jul 06 2015 16:52
Все три способа просто формируют массив данных и потом делают $this->dispatch(new CreateUser($attributes))
Roman Gorlinskiy
@lafat
Jul 06 2015 17:08
добрый день
точнее вечер
с homestead работал кто-то
?
подскажите, пожалуйста, я в среде homestead развернул проект, как теперь сделать так что файлы со среды homestead появились в локальной папке
Pavel
@Inkognitoo
Jul 06 2015 17:11
Доброго времени суток, уважаемые.
Не подскажете, существует ли в laravel способ переключать схемы в Postgresql на лету?
Поясняю, по дефолту все модели связаны с таблицами хранящимися в схеме public, можно ли как-то переключать эту связь, скажем, с public на develop и обратно?
slider23
@slider23
Jul 06 2015 17:12
@lafat за мапинг папок с локальной машины в виртуальную (и обратно) отвечает раздел folders в Homestead.yaml
emissar
@emissar
Jul 06 2015 17:20
ребят, а напомните как называется штука для л5, которая показывает ошибки как в л4?
Roman Gorlinskiy
@lafat
Jul 06 2015 17:27

@slider23 извини возможно за глупые вопросы, я только начинаю знакомится с ларавель folders:

- map: ~/projects
  to: /home/roman/projects/blog.dev/public

sites:

- map: homestead.app
  to: /home/vagrant/new-site/public
сейчас при обращении к homestead.app в браузере появляется laravel 5 то есть с этим все хорошо
/home/roman/projects/blog.dev/public вот эти папки создал
JhaoDa
@jhaoda
Jul 06 2015 17:29
@lafat а зачем тебе вообще хоумстед? У тебя же и так какой-то линупс или макось
Roman Gorlinskiy
@lafat
Jul 06 2015 17:29
и я так понял что после vagrant provision /home/roman/projects/blog.dev/public здесь должны появится файлы
@jhaoda уже как-то говорили на эту тему здесь)))) это удобно, и я хочу разобраться с ним
JhaoDa
@jhaoda
Jul 06 2015 17:31
Не понимаю...
Roman Gorlinskiy
@lafat
Jul 06 2015 17:32
@jhaoda моет подскажешь по вопросу?
Роман Сохарев
@greabock
Jul 06 2015 17:32
@jhaoda забей, ну хочется людям хамстид. Райт вэй и всё такое...
JhaoDa
@jhaoda
Jul 06 2015 17:33
Нет, не подскажу. Я один раз хоумстед-машину собрал, до сих пор вспоминаю с содроганием
Roman Gorlinskiy
@lafat
Jul 06 2015 17:33
@jhaoda )))
@greabock может ты подскажешь как мне теперь сделать так чтобы в моей папке появились файлики? /home/roman/projects/blog.dev/public
Роман Сохарев
@greabock
Jul 06 2015 17:35
@lafat я тоже не фанат хамстида ))
Да и вообще, из завсегдатаев, ну может пара человек на нем сидит
JhaoDa
@jhaoda
Jul 06 2015 17:36
Но самый трэшак был, когда я для gulp ставил sass-компилятор.
Нодовский в то время был убог, пришлось ставить руби-версию. Так эта падла в процессе сказала, что ей нужны какие-то либы от M$, а они только в комплекте с вижл студией.
Выкачивать и ставить 4+ гига даже бесплатной студии меня уже не хватило...
Гиттер цвет левой панельки сменил... незаметный редизайн опять нас ждёт, штоле
Роман Сохарев
@greabock
Jul 06 2015 17:39
а мне старый цвет нравился...
у них, кстати дизайнера походу и нет вовсе...
уж больно все аляписто
Maxim
@Big-Shark
Jul 06 2015 17:41
@greabock еще платить ему.
@greabock чат для программистов, так что и сами нарисуем)
Роман Сохарев
@greabock
Jul 06 2015 17:41
@Big-Shark пфф... нафиг он нужен...
только бабло сосет - никакого проку
и вообще - что за проффессия такая, "дизайнер"?
Maxim
@Big-Shark
Jul 06 2015 17:43
Мне кажется я знаю куда я скоро потрачу 400 баксов http://shop.gopro.com/hero4/hero4-session/CHDHS-101.html
Роман Сохарев
@greabock
Jul 06 2015 17:43
бездари, у которых не хватило таланта стать художниками...
XDDD
Maxim
@Big-Shark
Jul 06 2015 17:43
@greabock да любой сам нарисовать может, а денег просят кучу, лучшеб нормальную работу нашли.
Роман Сохарев
@greabock
Jul 06 2015 17:43
дя сам могу легко
мне просто лень
Maxim
@Big-Shark
Jul 06 2015 17:44
@greabock или некогда)
Роман Сохарев
@greabock
Jul 06 2015 17:44
ну да
Maxim
@Big-Shark
Jul 06 2015 17:45
@greabock вот так и живем)
Роман Сохарев
@greabock
Jul 06 2015 17:45
@Big-Shark угу )
JhaoDa
@jhaoda
Jul 06 2015 17:53
Старые циники :) и я с вами, да...
Я до сих пор помню свой первый «десигн». Это в 2000-м было... сайт городской библиотеки, правда, он не выразили желания его использовать, потому что «ну это же делать надо!»
Alexandr Chernyaev
@tabuna
Jul 06 2015 17:56
Привет ребята, кто подскажет, что хрень. Перестали записываться куки в браузер. Вчера и сегодня искал в чём причина. Всё перелопатил, оказалось, что каким то не ведомым образом мешает мой js, подключённый в футере. JS ставлю - куки не записываются, убираю - всё хорошо.
JhaoDa
@jhaoda
Jul 06 2015 17:56
@tabuna какой вывод? Виноват JS.
И что тут подсказывать? Телепатия антинаучна.
Alexandr Chernyaev
@tabuna
Jul 06 2015 17:57
@jhaoda Так то да, но в консоли - ошибок нет.
Использовал jquery
asvae
@asvae
Jul 06 2015 17:58
@lafat у меня вот так сделано:
folders:
    - map: d:/wamp/www/homestead
      to:  /home/vagrant/Code

sites:
    - map: pr1
      to: /home/vagrant/Code/pr1
Alexandr Chernyaev
@tabuna
Jul 06 2015 17:58
Может влияет, что я подключаю футер инклудом
asvae
@asvae
Jul 06 2015 18:01
@lafat хотя тьфу, это не под ларавел. Под ларавел: to: /home/vagrant/Code/pr1/public
JhaoDa
@jhaoda
Jul 06 2015 18:03
@tabuna я тебе говорю — телепатия антинаучна
@tabuna если хочешь каких-то ответов, то код покажи
Roman Gorlinskiy
@lafat
Jul 06 2015 18:04
@tabuna куки через js пишешь, плагин какой-то? смотрел ошибки в консоли?
@tabuna сорри, уже увидел сообщение по этому поводу
Alexandr Chernyaev
@tabuna
Jul 06 2015 18:07
asvae
@asvae
Jul 06 2015 18:11
@Inkognitoo вот это может? Сам не пробовал, к сожалению:
https://github.com/pacuna/Laravel-PGSchema
Roman
@TeroBlaZe
Jul 06 2015 18:18
добрый вечер жители этой планеты))
кто-то знает быстрый способ исключить обращение к странице ?page=1 а то я собираюсь лезть скоро в nginx, но может есть способ проще с помощью лары?
emissar
@emissar
Jul 06 2015 18:20
@sleeping-owl а почему иногда при сохранении модели отредактированной редиректит на /admin/assets/lang ? Но при этом сохраняются изменения
asvae
@asvae
Jul 06 2015 18:25
@TeroBlaZe мидлвар кинуть чем плохо.
Pavel
@Inkognitoo
Jul 06 2015 18:25
@jhaoda, @Asvae, спасибо
Roman
@TeroBlaZe
Jul 06 2015 18:26
@Asvae Глобальный. Парсить урл. Каждый раз. Фу..
может что-то и получится, посмотрим
asvae
@asvae
Jul 06 2015 18:28
@TeroBlaZe
$request->page === 1 — и совсем не фу.
Alex Soveliev
@suroviy
Jul 06 2015 18:29
Как Carbon по русски заставить писать а не ероглифами?
asvae
@asvae
Jul 06 2015 18:29
Carbon\Carbon::setLocale('ru');
Alex Soveliev
@suroviy
Jul 06 2015 18:30
я так пробовал
This message was deleted
Но сам Carbon работает
если так делать то выдает ероглифы
setlocale(LC_TIME, 'Russian');
Sleeping Owl
@sleeping-owl
Jul 06 2015 18:33
@emissar похоже на баг, не встречал такого
asvae
@asvae
Jul 06 2015 18:38
@suroviy может версия протухшая?
Мой "nesbot/carbon": "~1.19", тоже прописан в роутах, работает исправно.
YAAP
@yaapis
Jul 06 2015 18:39
@suroviy https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Carbon.php#L931
Посмотрите есть ли этот метод у вас в пакете, может не та версия
primalpro
@primalpro
Jul 06 2015 18:39
Кто в Москве обучает ? Ищу препода , живу в Марьино. Нужно около 30 часов занятий , подготовка есть. Срочно . Оплата почасовая. Нужен стабильный товарищь который не пропадает и не бухает - желательно встречаться днем... В свою очередь могу научить зарабатывать деньгу в сети и не работать на дядю )
YAAP
@yaapis
Jul 06 2015 18:40
обучает чему? ларавелу? )
@yaapis смотрел нету вот что там вместо неё
primalpro
@primalpro
Jul 06 2015 18:41
Ларавель, немного Реакта хотелось бы еще зацепить
Alex Soveliev
@suroviy
Jul 06 2015 18:42
проблема решается следующем обзором
setlocale(LC_TIME, 'ru_RU.UTF-8');
JhaoDa
@jhaoda
Jul 06 2015 18:42
@suroviy в винде такое решение не пашет, к слову
Alex Soveliev
@suroviy
Jul 06 2015 18:43
@jhaoda а какой тогда решение может быть, если функции нету?
YAAP
@yaapis
Jul 06 2015 18:43
@suroviy проверь версии, скорее всего ты ерунду какую-то тянешь, потому и нету методов... ссылку на гит я выше закинул
JhaoDa
@jhaoda
Jul 06 2015 18:43
@suroviy какой функции?
Alex Soveliev
@suroviy
Jul 06 2015 18:44
Carbon\Carbon::setLocale('ru');
сборка дефолтная lara5
JhaoDa
@jhaoda
Jul 06 2015 18:44
@suroviy не понял, какая связь винды с функциями карбона?
Alex Soveliev
@suroviy
Jul 06 2015 18:44
This message was deleted
нету этой функуции в карбоне
вот в чем при кол
JhaoDa
@jhaoda
Jul 06 2015 18:45
@suroviy какой функции?
@suroviy здесь можно сообщения редактировать, не знал?
Alex Soveliev
@suroviy
Jul 06 2015 18:45
Carbon::setLocale
primalpro
@primalpro
Jul 06 2015 18:46
Парни как в восстановлении пароля убрать поле email ?
JhaoDa
@jhaoda
Jul 06 2015 18:46
@suroviy с чего ради это нет? Есть. Карбон какой версии?
Alex Soveliev
@suroviy
Jul 06 2015 18:47
@jhaoda даю еще раз скрин http://joxi.ru/KAxMje6s9GeLr8
я почем знаю почему её там нет)))
JhaoDa
@jhaoda
Jul 06 2015 18:47
@suroviy ты вопрос видел?
Alex Soveliev
@suroviy
Jul 06 2015 18:47
@jhaoda не понял?
JhaoDa
@jhaoda
Jul 06 2015 18:47
@suroviy :point_up: 7 июля 2015 г., 01:46
Alex Soveliev
@suroviy
Jul 06 2015 18:49
@jhaoda где это смотреть?\
Andrey
@Quiss
Jul 06 2015 18:49
@primalpro лол)
JhaoDa
@jhaoda
Jul 06 2015 18:49
А чо, я забыл, есть смайлик фейспалм тут?
Andrey
@Quiss
Jul 06 2015 18:49
ты уже и тут)
asvae
@asvae
Jul 06 2015 18:49
@suroviy обнови карбон в депенденси проекта для начала.
@suroviy запихни это "nesbot/carbon": "~1.19" в composer.json
JhaoDa
@jhaoda
Jul 06 2015 18:50
@Asvae а почему 1.19?
Alex Soveliev
@suroviy
Jul 06 2015 18:50
это понятно, делото в том что laravel5 изначально компосером затягивался, и че теперь каждый раз carbon обновлять?
asvae
@asvae
Jul 06 2015 18:50
@jhaoda потому что у меня такой и он работает.
JhaoDa
@jhaoda
Jul 06 2015 18:51
@Asvae ну ты гля, а... а у меня 1.20 уже. И кто прав?
YAAP
@yaapis
Jul 06 2015 18:52
@jhaoda @Asvae composer require nesbot/carbon
JhaoDa
@jhaoda
Jul 06 2015 18:52
@yaapis што? Мне это зачем?
asvae
@asvae
Jul 06 2015 18:52
@suroviy композер возьмет поздний карбон. Можешь и в ларавеловских сырцах в принципе поправить.
YAAP
@yaapis
Jul 06 2015 18:52
вся правда о карбоне )))
JhaoDa
@jhaoda
Jul 06 2015 18:52
@Asvae в сырцах поправить? Отличный совет!
asvae
@asvae
Jul 06 2015 18:52
@jhaoda конечно, у кого версия больше — тот и правее :3.
@jhaoda один фиг с апдейтом автоподправятся.
JhaoDa
@jhaoda
Jul 06 2015 18:53
Вы не думали, что всё должно ставиться нормально? А если карбон хер пойми какой версии, то это косяк где-то у него?
@suroviy открой vendor\composer\installed.json и поищи "carbon". Там рядом увидишь версию.
Alex Soveliev
@suroviy
Jul 06 2015 18:56
так я про тоже, подтянул лару я так composer create-project laravel/laravel --site.ru prefer-dist
JhaoDa
@jhaoda
Jul 06 2015 18:56
@suroviy версия ларавель какая точно?
Andrey
@Quiss
Jul 06 2015 18:57
SELECT 
  p0_.imageFile AS imageFile0, 
  p0_.shortText AS shortText1, 
  p0_.broadcast AS broadcast2, 
  p0_.public AS public3, 
  p0_.stickedUntil AS stickedUntil4, 
  p0_.important AS important5, 
  p0_.sourceTitle AS sourceTitle6, 
  p0_.sourceUrl AS sourceUrl7, 
  p0_.embeddedCode AS embeddedCode8, 
  p0_.rating AS rating9, 
  p0_.numberOfLikes AS numberOfLikes10, 
  p0_.numberOfViews AS numberOfViews11, 
  p0_.numberOfComments AS numberOfComments12, 
  p0_.digest AS digest13, 
  p0_.hideAuthor AS hideAuthor14, 
  p0_.isVidal AS isVidal15, 
  p0_.weekly AS weekly16, 
  p0_.hidden AS hidden17, 
  p0_.metaTitle AS metaTitle18, 
  p0_.title AS title19, 
  p0_.body AS body20, 
  p0_.keywords AS keywords21, 
  p0_.description AS description22, 
  p0_.enabled AS enabled23, 
  p0_.created AS created24, 
  p0_.updated AS updated25, 
  p0_.id AS id26, 
  p0_.country_id AS country_id27, 
  p0_.author_id AS author_id28, 
  p0_.thematicGroup_id AS thematicGroup_id29, 
  p0_.category_id AS category_id30, 
  p0_.editedBy_id AS editedBy_id31, 
  p0_.poll_id AS poll_id32 
FROM 
  publication p0_ 
  LEFT JOIN category c1_ ON p0_.category_id = c1_.id 
  AND c1_.categoryType IN ('publication') 
  LEFT JOIN publication_specialty p3_ ON p0_.id = p3_.publication_id 
  LEFT JOIN specialty s2_ ON s2_.id = p3_.specialty_id 
  LEFT JOIN publication_specialization p5_ ON p0_.id = p5_.publication_id 
  LEFT JOIN specialization s4_ ON s4_.id = p5_.specialization_id 
WHERE 
  p0_.enabled = 1 
  AND p0_.created < CURRENT_TIMESTAMP 
  AND (
    (
      p0_.stickedUntil < CURRENT_TIMESTAMP 
      OR p0_.stickedUntil IS NULL
    )
  ) 
GROUP BY 
  p0_.imageFile, 
  p0_.shortText, 
  p0_.broadcast, 
  p0_.public, 
  p0_.stickedUntil, 
  p0_.important, 
  p0_.sourceTitle, 
  p0_.sourceUrl, 
  p0_.embeddedCode, 
  p0_.rating, 
  p0_.numberOfLikes, 
  p0_.numberOfViews, 
  p0_.numberOfComments, 
  p0_.digest, 
  p0_.hideAuthor, 
  p0_.isVidal, 
  p0_.weekly, 
  p0_.hidden, 
  p0_.metaTitle, 
  p0_.title, 
  p0_.body, 
  p0_.keywords, 
  p0_.description, 
  p0_.enabled, 
  p0_.created, 
  p0_.updated, 
  p0_.id, 
  p0_.country_id, 
  p0_.author_id, 
  p0_.thematicGroup_id, 
  p0_.category_id, 
  p0_.editedBy_id, 
  p0_.poll_id 
ORDER BY 
  p0_.created DESC 
LIMIT 
  17 OFFSET 0
Прошлый программист оставил за собой такой запрос
помогите оптимизировать =)
Alex Soveliev
@suroviy
Jul 06 2015 18:57
"version": "1.17.0"
Andrey
@Quiss
Jul 06 2015 18:57
запрос тянеться 10 секунд
primalpro
@primalpro
Jul 06 2015 18:58
@Quiss Привет я везде уже =)) сеня ларакаст оплатил - вроде врубаться начал
Andrey
@Quiss
Jul 06 2015 18:58
@primalpro лол, ты по основам пройдись сначало... реально дельный совет
@primalpro http://php.net
JhaoDa
@jhaoda
Jul 06 2015 18:58
@suroviy composer update когда последний раз запускал? Судя по всему, в начале марта...
primalpro
@primalpro
Jul 06 2015 18:59
@Quiss совет дельный но мне щас надо конкретные задачи решать ) у меня сегодня по плану закончить проект
Alex Soveliev
@suroviy
Jul 06 2015 18:59
@jhaoda да както так
JhaoDa
@jhaoda
Jul 06 2015 18:59
@suroviy ну сам себе злобный буратина
Alex Soveliev
@suroviy
Jul 06 2015 19:00
@jhaoda ))
JhaoDa
@jhaoda
Jul 06 2015 19:00
@suroviy запустил? Локали появились в 1.18
Alex Soveliev
@suroviy
Jul 06 2015 19:01
@jhaoda что то както по баиваюсь сайто уже боевой
JhaoDa
@jhaoda
Jul 06 2015 19:02
@suroviy ну ты как дитё. В локальной копии проверь сначала
Alex Soveliev
@suroviy
Jul 06 2015 19:03
@jhaoda это понятно я то хотел по быстрому сегодня закончить )))
JhaoDa
@jhaoda
Jul 06 2015 19:39
Есть гуру аглицкой мовы? MayTransliterate или CanTransliterate, если по аналогии с ShouldQueue?
asvae
@asvae
Jul 06 2015 19:48
may — что-то вроде позволено, can — может физически.
JhaoDa
@jhaoda
Jul 06 2015 19:49
@Asvae ну так и?
asvae
@asvae
Jul 06 2015 19:53
@jhaoda can, если он у тебя по желанию не транслитерирует. :Р
Nikita
@exotickg1
Jul 06 2015 20:03
@Quiss опа, Quiss в ларавел чате, вот так неожиданность :D
Roman
@TeroBlaZe
Jul 06 2015 20:17

как этот Browserify работает??
вот у меня в папке resources/assets/js/vendor лежат файлы, которые нужно подключить в файл app.js
пишу

elixir(function(mix) {
    mix.browserify(['app.js', 'vendor/some.js']);
});

в app.ja пишу:

require('vendor/some');

вылетает в браузере, что этот модуль не найден, хотя Gulp watch работает без ошибок. Как мне подключить файлы из папки vendor в app.js?

Andrey
@Quiss
Jul 06 2015 20:31
@exotickg1 опа Экз в Ларавел чате, вот тоже не ожидал
asvae
@asvae
Jul 06 2015 20:37
@TeroBlaZe а что ты зареквайрить хочешь то?
Roman
@TeroBlaZe
Jul 06 2015 20:38
@Asvae например vue-moment.js
asvae
@asvae
Jul 06 2015 20:43
@TeroBlaZe фигово. Есть паршивый вариант и очень паршивый. Еще пара мифических.
Можно заползти в папку вендор от app.js как-то так: ../../vendor/vue-moment.
2) Отпилить депенденси. Чревато.
Мифические:
3) Написать разрабу, чтоб добавился в npm.
4) copy эликсиром папку в assets/js/vendor
Dmitry Shlyomin
@dmitry1337
Jul 06 2015 20:51
Есть ли способ вывода всех ключей кэша аля Cache::allKeys()? без тэгов, драйвер - файлы
JhaoDa
@jhaoda
Jul 06 2015 21:00
@dmitry1337 ключи нигде не хранятся
Dmitry Shlyomin
@dmitry1337
Jul 06 2015 21:01
@jhaoda понял
JhaoDa
@jhaoda
Jul 06 2015 21:13
Как «нужно» проектировать API:
  • получение статуса сообщения — http://bla-bla.com/status.php?id=5
  • удаление сообщения — http://bla-bla.com/status.php?id=5&del=1
Оба запроса можно делать и GET, и POST. Так и хочется ручки пообрывать...
Dmitry Shlyomin
@dmitry1337
Jul 06 2015 21:14
@jhaoda привет 2005 год! хаха
JhaoDa
@jhaoda
Jul 06 2015 21:15
@dmitry1337 что?
Dmitry Shlyomin
@dmitry1337
Jul 06 2015 21:15
@jhaoda ну апи так проектировали лет 10 назад
Roman
@TeroBlaZe
Jul 06 2015 21:18
@Asvae да не, тут уже немного иная проблема, всё видит и подключается, но должно быть так на выходе чтобы содержимое some.js будто вставили в app.js, а у меня получается, что содержимое лежит в переменной
asvae
@asvae
Jul 06 2015 21:30
@TeroBlaZe попробуй этот вариант: ../../vendor/vue-moment
elixir(function(mix) {
    mix.browserify('app.js');
});
Roman
@TeroBlaZe
Jul 06 2015 21:31
@Asvae эликсир тут не причем, здесь в сторону node modules нужно копать
asvae
@asvae
Jul 06 2015 21:33
Ну почему, эликсир объединяет тебе два файлика. Соответственно, vue-moment ты получаешь в глобальном контексте, а депенденси упирается в несуществующий адрес.
Если у него был бы модуль — ты мог бы просто указать глобальный депенденси и не заморачиваться:
global.Vue = require('vue');
Roman
@TeroBlaZe
Jul 06 2015 21:36
@Asvae browserify ничего не объединяет! Проблема в том, что vue-moment не написан как модуль к node, а просто как файл, который должен быть подключен перед "своим" кодом. Если я делаю var vuemoment = require('./vendor/vue-moment') то его содержимое всё лежит в переменной и я не знаю как её использовать.
asvae
@asvae
Jul 06 2015 21:41

@TeroBlaZe

browserify ничего не объединяет
Это шикарная новость. Не знал.

@TeroBlaZe он же модифицирует глобальный Vue. Нафига тебе эта переменная?
Roman
@TeroBlaZe
Jul 06 2015 21:42
@Asvae не объединяет, значит не объединяет, как mix.scripts() !!!
asvae
@asvae
Jul 06 2015 21:43
@TeroBlaZe я понял. Не ожидал, что решение настолько простое.
Roman
@TeroBlaZe
Jul 06 2015 21:43
@Asvae он не может её модифицировать, в этом то и проблема.
asvae
@asvae
Jul 06 2015 21:44
Почему это он не может?
Vue.filter('moment', function() {
@TeroBlaZe стоп. А если в кложур запихнуть?
Roman
@TeroBlaZe
Jul 06 2015 21:46
@Asvae вставь я этот код прямо app.js, смог бы. А я экспортирую этот фильтр через require!
asvae
@asvae
Jul 06 2015 21:55
@TeroBlaZe нужно что-то вроде этого, судя по всему.
https://github.com/thlorenz/browserify-shim#features
На СО луркал раньше, толку мизер. http://stackoverflow.com/questions/30806860/use-browserify-shim-with-laravel-elixir-browserify
Roman
@TeroBlaZe
Jul 06 2015 22:03
@Asvae потому, что когда не знаешь, начинаешь думать не правильно и заходишь совсем не в ту степь, когда оказываются есть более простые способы
asvae
@asvae
Jul 06 2015 22:06
@TeroBlaZe ну да.
В эликсире, как по мне, слишком много волшебства. Куда-то массивы вставляются, куда-то — нет.
Roman
@TeroBlaZe
Jul 06 2015 22:07
@Asvae да я уже готов тупо concat файлов сделать, но не знаю пока как именно, буду разбираться
Vladimir Yuldashev
@vyuldashev
Jul 06 2015 22:10
@Big-Shark прив, тут?
asvae
@asvae
Jul 06 2015 22:12
@TeroBlaZe я просто запихнул всякую мелочь в модули, а крупные вещи — через эликсир script отдельным файликом.
Roman
@TeroBlaZe
Jul 06 2015 22:13
@Asvae это я сразу на последний рубеж отставил
asvae
@asvae
Jul 06 2015 22:40
@TeroBlaZe потестил массив инпут — он оказался не интересным. Смысл пихать в gulpfile то, что можно запихнуть в произвольный модуль..?
asvae
@asvae
Jul 06 2015 22:46
@TeroBlaZe кинь весточку плиз, что получилось/не получилось. Как надоест возиться.
Roman
@TeroBlaZe
Jul 06 2015 22:46
@Asvae ok
emissar
@emissar
Jul 06 2015 23:15
Есть кто не спящий?
asvae
@asvae
Jul 06 2015 23:17
@emissar я, условно.
emissar
@emissar
Jul 06 2015 23:19
Подкиньте мысль - есть юзеры, которые принадлежат к городу, а город в свою очередь принадлежит к региону. Как получить регион через юзера?

В модели City есть:

public function region()
    {
        return $this->belongsTo('App\Region');
    }

в User

public function city()
    {
        return $this->belongsTo('App\City');
    }
Sleeping Owl
@sleeping-owl
Jul 06 2015 23:20
This message was deleted
emissar
@emissar
Jul 06 2015 23:21
а, все
 $user->city->region['title']
Sleeping Owl
@sleeping-owl
Jul 06 2015 23:21
только eager loading не забудь, чтобы это все отдельными запросами не грузилось
emissar
@emissar
Jul 06 2015 23:22
ага)
@sleeping-owl хотел у тебя спросить чего-то, да забыл, пока ты просыпался
Roman
@TeroBlaZe
Jul 06 2015 23:26

чет ерунда какая-то, вываливается на последней строчке.. (Uncaught TypeError: date.isValid is not a function),
но стоит эту строчку убрать всё работает, пока не наткнется на подобное. Почему это функции такой не существует, я же передаю объект moment туда
app.js

var Vue = require('vue');
var moment = require('moment');
require('./vendor/vue-moment')(Vue, moment);

vue-moment.js

module.exports = function (Vue, moment) {

    Vue.filter('moment', function() {
        var args = Array.prototype.slice.call(arguments),
            value = args.shift(),
            date = moment(value);

        if (!date.isValid()) return '';
asvae
@asvae
Jul 06 2015 23:28
@TeroBlaZe сдался таки.
Roman
@TeroBlaZe
Jul 06 2015 23:28
@Asvae нет еще, оно работает, но не до конца как-то... чего-то не хватает
asvae
@asvae
Jul 06 2015 23:29
@TeroBlaZe затребуй vue из модуля. Или сделай его глобальным. С компа уже уполз, так что пастой не снабдю.
emissar
@emissar
Jul 06 2015 23:30

а.. вот так можно сделать в админке?

->createAndEdit(function ()
{
    $form = AdminForm::form();
    $form->items([
                FormItem::select('city_id', 'Основной город')->options(App\City::lists('title', 'id')),
                FormItem::multiselect('cities', 'Дополнительные города')->options(App\City::where('id', '<>', $city_id)->lists('title', 'id')), //Вот тут city_id из модели текущей как-нибудь можно получить?
]);

@sleeping-owl

Roman
@TeroBlaZe
Jul 06 2015 23:32
@Asvae ноу-ноу, вью здесь не причем, это как-то момент работает странно, я не могу у него функции вызывать, вот оно и пишет ошибку о несуществующей функции
я даже делаю вот-так и лезет так ошибка:
var moment = require('moment');
moment().isValid();
asvae
@asvae
Jul 06 2015 23:36
@TeroBlaZe совсем странно. Нужно отложить на завтра.
Sleeping Owl
@sleeping-owl
Jul 06 2015 23:37
@emissar конкретно этим методом нельзя, потому что так ты указываешь форму и для создания, и для редактирования
emissar
@emissar
Jul 06 2015 23:38
а через custom?
Sleeping Owl
@sleeping-owl
Jul 06 2015 23:38
но ты можешь сделать форму создания одну, а редактирования другую через методы ->create() и ->edit($id) и соответственно в форме редактирования обращаться с этим $id как захочешь, можешь сам подгрузить запись и на основании ее значений выводить разные элементы или с разными конфигурациями
ну то есть у create и edit синтаксис такой же, им замыкание нужно передавать аргументом, но в замыкание для edit будет передан еще айдишник при получении самой формы для вывода
Roman
@TeroBlaZe
Jul 06 2015 23:43
@Asvae еще страннее то что console.log(moment()) работает, но выводит Moment {_d: Tue Jul 07 2015 02:39:16 GMT+0300 (RTZ 2 (зима))} а должно куда больше быть
я дятел...
p.s Version 1.0.1
на сайте Moment.js 2.10.3
asvae
@asvae
Jul 06 2015 23:52
@TeroBlaZe хех. Хорошо, что заработало хоть.
Roman
@TeroBlaZe
Jul 06 2015 23:58
@Asvae да я уже не первый раз с версиями так промахиваюсь, кошмар, столько времени из-за ерунды потрачено! Как обычно!