These are chat archives for LaravelRUS/chat

16th
Nov 2016
Artyom Mezin
@Sogl
Nov 16 2016 01:30
Всем привет. Ребят, как определить свой собственный магический метод toString для модели? чтобы он вызывался также при вызове (string) $model_row
KarmaBot
@KarmaBot
Nov 16 2016 01:30
@Sogl, здравствуй.
JhaoDa
@jhaoda
Nov 16 2016 02:19
@Sogl ты шутишь, надеюсь?
Andy Melentev
@Sinersis
Nov 16 2016 03:06
Доброго всем! Ребята как получить id только что созданной записи например
$readyProduct = new ReadyProduct();
$readyProduct->blank_type_id = $product->blank_type_id;
$readyProduct->save();
JhaoDa
@jhaoda
Nov 16 2016 03:15
@Sinersis ты тоже шутишь, надеюсь?
Или сегодня день троллинга?
Artyom Mezin
@Sogl
Nov 16 2016 03:42
@jhaoda А что не так в вопросе?
JhaoDa
@jhaoda
Nov 16 2016 03:42
@Sogl ты не знаешь про магические методы?
Andy Melentev
@Sinersis
Nov 16 2016 03:43
@jhaoda Да уже удостоверился
@jhaoda Не нервничай -) $readyProduct->id
JhaoDa
@jhaoda
Nov 16 2016 03:43
@Sinersis в чём удостоверился?
Artyom Mezin
@Sogl
Nov 16 2016 03:45
@jhaoda ну что-то знаю.. а ты о чем конкретно?
JhaoDa
@jhaoda
Nov 16 2016 03:45
@Sogl а что, есть варианты, кроме __toString()?:)
Andy Melentev
@Sinersis
Nov 16 2016 03:45
@jhaoda Правильно ли я все помню -)
Artyom Mezin
@Sogl
Nov 16 2016 03:46
@jhaoda ну геттеры и сеттеры еще есть... )
конструктор
JhaoDa
@jhaoda
Nov 16 2016 03:47
@Sogl ну а они к преобразованию класса в строку как относятся?
Artyom Mezin
@Sogl
Nov 16 2016 03:49
@jhaoda Никак. Вот я и спрашиваю, как мне записать свой собственный toString ) просто через public function __toString() в модели?
JhaoDa
@jhaoda
Nov 16 2016 03:50
Ужс какой...
@Sogl да. А что бы не ошибиться :), посмотри, как это сделано в самой модели
Artyom Mezin
@Sogl
Nov 16 2016 03:50
Пч ужас? )
JhaoDa
@jhaoda
Nov 16 2016 03:51
@Sogl потому что не знать про магические методы — это ужс.
Artyom Mezin
@Sogl
Nov 16 2016 03:53
@jhaoda все мы чего-то не знаем... я проще к этому отношусь. Главное чтоб хотелось узнать, а не как в том мультике "и тааак сойдееет" )
JhaoDa
@jhaoda
Nov 16 2016 03:54
@Sogl это основы языка. Незнание основ заставляет тратить время на поиски того, что можно было прочитать в доке и на изобретение квадратных велосипедов
Artyom Mezin
@Sogl
Nov 16 2016 03:56
@jhaoda я читал про магические методы, но вот, к примеру, не знаю, что мне выдаст Ларавель, если я просто вызову __toString без определения )) доку прошерстил — там тоже ничего нету. А мне нужна результатом строка определенного формата. Так и назрел вопрос сюда.
JhaoDa
@jhaoda
Nov 16 2016 03:57
@Sogl а ещё надо смотреть в код фрейма...
Artyom Mezin
@Sogl
Nov 16 2016 04:10
@jhaoda У меня в фрейме, основанном на Zend, были еще классы для конкретной строки. В них можно было объявить геттеры и сеттеры, так я создавал дополнительные/виртуальные поля. В Ларе такое как делается?
JhaoDa
@jhaoda
Nov 16 2016 04:19
@Sogl почти ничего не понял
Artyom Mezin
@Sogl
Nov 16 2016 04:21
@jhaoda в модели я мог прописать класс для строки, например, вот так protected $_rowClass = 'Row_Employee'; ... а в этом классе уже указать геттеры и сеттеры для полей, которых нет в БД (виртуальных).
JhaoDa
@jhaoda
Nov 16 2016 04:22
@Sogl ну почитай ты в доке про аксессоры и мутаторы, ёлки...
Artyom Mezin
@Sogl
Nov 16 2016 04:23
@jhaoda Ну вот надо было понять как это в Ларе называется, где копать)
JhaoDa
@jhaoda
Nov 16 2016 04:23
@Sogl надо ВСЮ доку читать, что бы знать, что в ней есть
Блин, я эту фразу каждую неделю раз десять пишу здесь, а толку...
Artyom Mezin
@Sogl
Nov 16 2016 04:26
Человек ленивое существо и дока ж не художественная лит-ра, чтобы ее залпом читать. Это скорее справочник, что-то тебе надо — начинаешь шерстить. Я другие разделы тоже читаю периодически, но чтобы целенаправленно брать и от корки до корки — такого нет.
Artur Gafurov
@assurrussa
Nov 16 2016 04:36
@Sogl а стоило бы всю прочитать доку, однако РАЗРАБОТКОЙ занимаешься товарищ. там страниц то, как кот наплакал.
JhaoDa
@jhaoda
Nov 16 2016 04:39
@Sogl мой опыт и сотни однотипных вопросов в этом чате показывают, что ты не прав и следовало бы от корки до корки, раза три. А с учётом твоих пробелов в знании основ РНР, так прям настоятельно рекомендуется.
Впрочем, это твои проблемы. Тех, кто не читает доку, а сразу спрашивает, я иногда баню. Выбор за тобой.
Mysterion
@Papilla-Hitlers
Nov 16 2016 05:33
Привет, ребята. Подскажите, есть таблица, например, users с пользователями. Есть таблица posts со, скажем, новостями, в которой есть колонка user_id с ID пользователя из users таблицы. И есть таблица comments, где есть колонка post_id, в которой лежит ID новости из таблицы posts. Допустим, нужна кнопка "удалить комментарий", доступ к которой должен быть только у владельца новости.
Чтобы получить ID владельца новости и проверить с ID клиента из request, мне надо копать в сторону отношений Has Many Through ?
KarmaBot
@KarmaBot
Nov 16 2016 05:33
Приветствую тебя, @Papilla-Hitlers!
Artur Gafurov
@assurrussa
Nov 16 2016 05:36
@Papilla-Hitlers самый простой способ, взять id авторизованного пользователя и сравнивать с user_id новости.
Mysterion
@Papilla-Hitlers
Nov 16 2016 05:43
@assurrussa похоже, я надумал лишнего. Ведь если я создам роут /post/{nid}/comment/{cid} и буду из базы posts брать user_id для новости "nid", после чего сверять с id авторизованного пользователя, это будет правильным решением или не совсем хороший способ, но "сойдет"?
Artur Gafurov
@assurrussa
Nov 16 2016 05:45
@Papilla-Hitlers слушай не понял, пост == новости?* и буду из базы posts брать user_id для новости
Mysterion
@Papilla-Hitlers
Nov 16 2016 05:46
@assurrussa да. Наверное, стоило написать news название таблицы для примера, а не posts)
Artur Gafurov
@assurrussa
Nov 16 2016 05:47
@Papilla-Hitlers у тебя если есть авторизация, берешь неважно по какой связи, вытаскиваешь где у тебя зарыт user_id, и если логика выстроена правильно? просто сверяешь с авторизованным пользователем его ID и все.
Mysterion
@Papilla-Hitlers
Nov 16 2016 05:50
@assurrussa спасибо большое :)
KarmaBot
@KarmaBot
Nov 16 2016 05:50
Спасибо (+1) для @assurrussa принято! Текущая карма +62.
Soprun Vladislav
@vlsoprun
Nov 16 2016 07:39
Здорова мужики!
Fector
@Fector
Nov 16 2016 07:41
@vlsoprun здарова мужик!
Anton Vorontsov
@symbios-zi
Nov 16 2016 08:12
всем привет
KarmaBot
@KarmaBot
Nov 16 2016 08:12
@symbios-zi, ну рассказывай. Как жизнь? :)
Ivan
@Hunternnm
Nov 16 2016 08:13
Доброго всем дня
Юрий
@sawerus
Nov 16 2016 08:13
ку
Alexander
@spartaque
Nov 16 2016 08:24
Hola
undercloud
@undercloud
Nov 16 2016 08:31
Всем привет! Эта штука используется только для роутера?
https://laravel.com/docs/5.3/routing#form-method-spoofing
//так и останется POST?
$request->method();
KarmaBot
@KarmaBot
Nov 16 2016 08:31
@undercloud даров!
undercloud
@undercloud
Nov 16 2016 09:00
:crying_cat_face:
Ваня Devium
@webdevium
Nov 16 2016 09:07
@undercloud ты вставил spoof, указал, например, DELETE, а тебе показывает POST?
undercloud
@undercloud
Nov 16 2016 09:13
@webdevium не могу проверить) просто интересуюсь как оно работает
Юрий
@sawerus
Nov 16 2016 09:15
:-)
Ваня Devium
@webdevium
Nov 16 2016 09:16
@undercloud зашибись :)
fakefakefake12
@fakefakefake12
Nov 16 2016 09:17
Посмотри доку по api
Symfony\Component\HttpFoundation\Request
undercloud
@undercloud
Nov 16 2016 09:21
@fakefakefake12 да вопрос не в этом, а в том что оно используется только для маршрутизации, или модифицирует запрос тоже
fakefakefake12
@fakefakefake12
Nov 16 2016 09:23
зачем ему запрос модифицировать? он только получает инфу с 'REQUEST_METHOD'
а стоп
это не то
undercloud
@undercloud
Nov 16 2016 09:26
@fakefakefake12 ну короче только для роутинга
и только POST запросов
Юрий
@sawerus
Nov 16 2016 09:31
@undercloud метод определяет какой тип запроса - post delete...
undercloud
@undercloud
Nov 16 2016 09:33
@sawerus и конструирует Symfony\Component\HttpFoundation\Request c этим методом?
fakefakefake12
@fakefakefake12
Nov 16 2016 09:37
да
undercloud
@undercloud
Nov 16 2016 09:43
окей) всем спасибо)
yuriy
@omadonex
Nov 16 2016 12:46
Всем привет! Подскажите, плз, есть ли в Blade настройка - выводить содержимое без учета пробельных символов?
KarmaBot
@KarmaBot
Nov 16 2016 12:46
@omadonex, и тебе привет ;)
Alexander Bobrov
@kca66y
Nov 16 2016 12:55

Добрый день. Подскажите, у меня есть функция переноса картинки в папку

$lol = $request->file('photo');
$lol->move('storage-path(), file_name');

Как мне ее теперь удалить оттуда?

KarmaBot
@KarmaBot
Nov 16 2016 12:55
Hello, @kca66y!
fakefakefake12
@fakefakefake12
Nov 16 2016 12:57
$lol->delete()?
Alexander Bobrov
@kca66y
Nov 16 2016 12:58
@fakefakefake12 врешь)
Method delete does not exist.
Ivan
@Hunternnm
Nov 16 2016 12:58
@kca66y а зачем переместить и сразу удалить?
fakefakefake12
@fakefakefake12
Nov 16 2016 12:59
кстати да, чет тупо, ты же перемещаешь :D
Ваня Devium
@webdevium
Nov 16 2016 13:02
$lol->move('storage-path(), file_name');
это работает?
Ivan
@Hunternnm
Nov 16 2016 13:03
@webdevium если именно так то нет
)
Alexander Bobrov
@kca66y
Nov 16 2016 13:03
@webdevium Возможно, но я нашел способ лучше)
unlink(storage-path())
Ivan
@Hunternnm
Nov 16 2016 13:03
:worried:
Ну выполни так... На проде... \
fakefakefake12
@fakefakefake12
Nov 16 2016 13:04
@kca66y да есть там метод delete
если это файл
Ivan
@Hunternnm
Nov 16 2016 13:05
Ты смотрел что возвращает $request->file('photo');?
Думаю что нет
Alexander Bobrov
@kca66y
Nov 16 2016 13:05
@Hunternnm Ты кому?)
Ivan
@Hunternnm
Nov 16 2016 13:05
@kca66y тебе
Ваня Devium
@webdevium
Nov 16 2016 13:05
unlink(storage-path())
это очень крутой варик)))))))))))))))))))))))))))))))))))))))
SerafimArts @SerafimArts считает, что метод решения проблем автора - брутфорс ascii-последовательностей без соблюдения синтаксиса языка
Ivan
@Hunternnm
Nov 16 2016 13:06
Кирилл, напомни, как так писать?)
Alexander Bobrov
@kca66y
Nov 16 2016 13:06
@Hunternnm обьект офк
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 13:06
@Hunternnm через /me
Ivan
@Hunternnm
Nov 16 2016 13:07
@SerafimArts читер
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 13:07
@Hunternnm что не так?
Ivan
@Hunternnm
Nov 16 2016 13:07
От моего имени то
Может хватит от моего имени писать?) По ip вычислю!
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 13:12
@Hunternnm Ты сам с собой разговариваешь? о_0
yuriy
@omadonex
Nov 16 2016 13:16
так никто не подскажет? или мой вопрос недостоин основного чата :) ?
Alexander Bobrov
@kca66y
Nov 16 2016 13:18
@omadonex мне кажется, что нет. Это тебе на серваке надо без пробелов отдавать.
fakefakefake12
@fakefakefake12
Nov 16 2016 13:18
@omadonex ты хочешь получить во фронте весь текст без пробелов? Просто я вопрос твой не понял
yuriy
@omadonex
Nov 16 2016 13:22
@fakefakefake12 У меня есть страничка, на которой элементы строятся js'ом либо строятся при загрузке страницы с помощью Blade. Причем в случае с js'ом они добавляются без пробелов, а при использовании Blade добавляются пробелы места между ними, в итоге все едет. Я решил эту проблему использованием float:left, но товарищ подсказал, что можно еще попробовать поискать какую-нибудь настройку Blade, чтобы отдать конкретную страницу без пробелов.
fakefakefake12
@fakefakefake12
Nov 16 2016 13:23
У тебя строка как массив чтоли?
yuriy
@omadonex
Nov 16 2016 13:23
эмм, в смысле?
fakefakefake12
@fakefakefake12
Nov 16 2016 13:23
я не могу понять :(
Давай по новой. Что у тебя из контроллера отдается
yuriy
@omadonex
Nov 16 2016 13:27
@fakefakefake12 Ладно по-другому, вьюха отдается, в ней описаны Инпуты. они отображаются не вплотную, а с расстояниями, из-за того что код в шаблоне написан не в одну строку, а отформатирован (из-за этого добавляются пробельные символы и прочее). Когда я на этой же странице добавляю какой-нибудь блок кода с инпутами, только уже js'ом - они добавляются без этих символов, потому что js так работает. Вот я и спрашиваю, а можно ли вернуть страницу, сформированную с помощью Blade без учета пробельных символов, существует ли такая настройка?
Alexander Zayka
@KlassT
Nov 16 2016 13:28
@omadonex Blade здесь не причём. Используй флоаты
yuriy
@omadonex
Nov 16 2016 13:28
@KlassT ну я так и сделал, это решило проблему
Alexander Zayka
@KlassT
Nov 16 2016 13:29
@omadonex Дальше можешь даже не ломать себе мозг :)
yuriy
@omadonex
Nov 16 2016 13:29
@KlassT понятно :D
fakefakefake12
@fakefakefake12
Nov 16 2016 13:30
короче бред :D надеюсь ты решил свою проблему
yuriy
@omadonex
Nov 16 2016 13:30
нет это не бред, ты можешь тоже с этой проблемой столкнуться
fakefakefake12
@fakefakefake12
Nov 16 2016 13:30
у меня нормально темплейты написаны :D
yuriy
@omadonex
Nov 16 2016 13:30
@fakefakefake12 бред, наверное, пытаться это через blade сделать
@fakefakefake12 ладно, ладно, я криворукий )
fakefakefake12
@fakefakefake12
Nov 16 2016 13:31
хз, я сейчас комбинирую blade+vue пока не овладел последним полностью
да не, просто я нифига не понял твоей проблемы польностью
Матвей Бельский
@Rijen
Nov 16 2016 13:34

Утречка.. Подскажите пожалуйста как пользоваться полиморфными отношениями..

Есть у меня ооочень популярная моделька - Address\City. Её использует 99.9% системы, т.е. выборка улиц для конкретного города, так и обратно - например название города для конкретного пользователя..
Глянул в мануал - увидел вот это:

class City extends \Eloquent {
    public function on_city() {
        return $this->morphTo();
    }
}

И теперь сижу, туплю, как мне узнать город пользователя?

Из того же мануала пишу
(models/User)

    public function on_city() {
        return $this->morphMany('Address\City', 'on_city');
    }

Иии. Офигеваю от происходящего, ибо идет запрос
select * from citys where citys.on_city_id = 3 and citys.on_city_type = User

yuriy
@omadonex
Nov 16 2016 13:36

@fakefakefake12

Ну смотри, вот мой templade.blade.php

<div class="container">
        <input value="{{ $percent }}">
        <input value="{{ $amount }}">
        <input value="{{ $carried_at }}">
</div>

Если ты сделаешь его по-другому:

<div class="container">
</div>

И добавишь в него 3 тех же самых инпута, используя js. То они будут выглядеть по-другому. А именно - в первом случае между ними будут расстояния, во втором - они будут вплотную. Это решается другим шаблоном:

<div class="container clearfix">
        <input style="float:left" value="{{ $percent }}">
        <input style="float:left" value="{{ $amount }}">
        <input style="float:left" value="{{ $carried_at }}">
</div>
Mikail Aziev
@aziev
Nov 16 2016 13:38
@omadonex c чего это они должны выглядеть по-другому? ты что их в js стилизуешь?
yuriy
@omadonex
Nov 16 2016 13:38
@aziev я про расстояния между ними
@aziev проверь
Mikail Aziev
@aziev
Nov 16 2016 13:40
@omadonex а, ну да, это же инлайновые элементы. все дело в пробелах
yuriy
@omadonex
Nov 16 2016 13:41
@aziev я об этом уже полчаса твержу!
fakefakefake12
@fakefakefake12
Nov 16 2016 13:41
так выпили пробелы и табы
yuriy
@omadonex
Nov 16 2016 13:42
как это сделать в blade шаблоне?
вот мы и пришли к моему вопросу
Mikail Aziev
@aziev
Nov 16 2016 13:45
@omadonex задай родителю font-size: 0;, инпутам же верни нормальный размер. это один из нескольких способов
fakefakefake12
@fakefakefake12
Nov 16 2016 13:46
видимо я и вправду не сталкивался с этим вопросом :/
стиль .container можно? :D
я заинтересован проверить
brevis
@brevis
Nov 16 2016 13:48
@omadonex вот это глянь https://github.com/Hedronium/SpacelessBlade
fakefakefake12
@fakefakefake12
Nov 16 2016 13:53
допер :D
Dave
@aios
Nov 16 2016 13:53
@fakefakefake12 допер?
@fakefakefake12 это новая наркота такая?
fakefakefake12
@fakefakefake12
Nov 16 2016 13:54
ну можно же и так
<table cellpadding="0" cellspacing="0" border="0"> 
<tr>
<td><input name="first_name" id="First_Name" type="text" /></td>
<td><input name="last_name" id="Last_Name" type="text" /></td> 
</tr> 
</table>
Dave
@aios
Nov 16 2016 13:54
а я буду от нее сквозь стены ходить?
fakefakefake12
@fakefakefake12
Nov 16 2016 13:54
@aios да это сленг мой деревенский, типа понял :D
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 13:54
@aios ну если пинками активировать, то возможно всё :DDDDD
Dave
@aios
Nov 16 2016 13:55
@SerafimArts даже звучит круто "дОпер"
как допинг)
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 13:56
*допплер
Dave
@aios
Nov 16 2016 13:56
@SerafimArts обдоплер
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 13:56
тоже вариант
fakefakefake12
@fakefakefake12
Nov 16 2016 13:57
о! допер
одопер - можно и сквозь стены
Mikail Aziev
@aziev
Nov 16 2016 14:40
одопер фотошопер
NoViKoFF
@AndrewNovikof
Nov 16 2016 15:24
@Rijen А где у тебя функция owner() в Address.php?
nejtr0n
@nejtr0n
Nov 16 2016 15:25
@Rijen Address\City::find(1)->addresses->owner - вы получаете для кучи адресов одного owner'a ?
NoViKoFF
@AndrewNovikof
Nov 16 2016 15:26
@Rijen тут нужно использовать жадную загрузку и метод owner() прописать в модели Address
This message was deleted
Ivan
@Hunternnm
Nov 16 2016 15:29
@Rijen ссылку на гист заверни в код
Матвей Бельский
@Rijen
Nov 16 2016 15:37

@Hunternnm Не могу редактировать, учту в следующий раз..
@AndrewNovikof Она там есть, первый файл, morphTo

@nejtr0n У меня два объекта с адресами, User со связью 1-1, и Owner 1-2..

Ой, кажется я понял.. Связи две разных, следовательно надо два разных определения..

JhaoDa
@jhaoda
Nov 16 2016 15:38
@Rijen убери гисты и оформи код
KarmaBot
@KarmaBot
Nov 16 2016 15:38
@Rijen, чтобы код легко читался, поставь перед ним и после него по строке с тремя обратными апострофами (символ ` на клавише с буквой «Ё»).
Узнать больше про оформление сообщений можно в справке по Markdown (кнопка M↓ внизу справа).
Кстати, свои сообщения здесь можно редактировать... ;)
nocaut
@dikiypac
Nov 16 2016 15:44
php artisan make:seeder UserTableSeeder
php artisan db:seed --class=UserTableSeeder
ошибка: Class UserTableSeeder does not exist
почему я не вижу клас свой?
Arsen Soroka
@arsen-s
Nov 16 2016 15:45
@dikiypac composer dumpautoload
nocaut
@dikiypac
Nov 16 2016 15:46
@arsen-s помогло
в любой непонятной ситуации делай omposer dumpautoload )))
Матвей Бельский
@Rijen
Nov 16 2016 15:54
Такс.. Правильно ли я понял, что не могу использовать существующую цепь
(https://gist.github.com/Rijen/3910b33acca56cb5f61a9e7006fbb630 )отношений, чтобы получить всех User для одного City? , и надо добавить отдельную связь 1-1 для User/City?
Arsen Soroka
@arsen-s
Nov 16 2016 15:56

@Rijen

Address\City::find(1)->addresses->owner

addresses - это коллекция(массив)

уловил суть?
Dmitry
@DmitryChere
Nov 16 2016 15:58
всем привет
подскажите, почему при groupBy вот такая ошибка
Syntax error or access violation: 1055 'revenue_data.orders.id' isn't in GROUP BY (SQL: select `orders`.`id`, `orders`.`product`, `orders`.`total`, `orders`.`client_id`, `orders`.`created_at`, `clients`.`name` from `orders` inner join `clients` on `orders`.`client_id` = `clients`.`id` group by `orders`.`total` order by `orders`.`created_at` asc limit 10 offset 0)
KarmaBot
@KarmaBot
Nov 16 2016 15:58
Привет, @likeapimp! Проходи, присаживайся. В ногах правды нет :)
JhaoDa
@jhaoda
Nov 16 2016 16:00
@DmitryChere где там поле revenue_data.orders.id?
Dmitry
@DmitryChere
Nov 16 2016 16:02
@jhaoda где? в запросе?
или что ты имел ввиду?
JhaoDa
@jhaoda
Nov 16 2016 16:02
...
Dmitry
@DmitryChere
Nov 16 2016 16:03
@jhaoda ?
@jhaoda нужно было в конфиге для 'strict' установить false
твой вопрос так и не понял
JhaoDa
@jhaoda
Nov 16 2016 16:05
@DmitryChere да, отключай строгий режим, ходи по минному полю
Dmitry
@DmitryChere
Nov 16 2016 16:06
@jhaoda ну а какое решение тогда?
JhaoDa
@jhaoda
Nov 16 2016 16:07
@DmitryChere разобраться в проблеме
Dmitry
@DmitryChere
Nov 16 2016 16:08
@jhaoda так вот не получается разобраться, поэтому сюда и написал. все работает, кроме groupBy, запрос на выходе вроде нормальный, если его в myadmin выполнить, то без ошибок выполняется
JhaoDa
@jhaoda
Nov 16 2016 16:09
@DmitryChere ололо... где в твоем запросе поле revenue_data.orders.id??? Ты точно то, что нужно в чат отправил?
Arsen Soroka
@arsen-s
Nov 16 2016 16:09
@DmitryChere а в релейшенах случайно нет groupBy?
Dmitry
@DmitryChere
Nov 16 2016 16:11
@jhaoda revenue_data это название базы
@arsen-s неа, один раз его использую только
JhaoDa
@jhaoda
Nov 16 2016 16:12
@DmitryChere постгрес, штоле?
Dmitry
@DmitryChere
Nov 16 2016 16:12
@jhaoda нет, мускл
@jhaoda вот запрос из модели
$orders = $this->select(
            'orders.id', 'orders.product', 'orders.total',
            'orders.client_id', 'orders.created_at', 'clients.name')
            ->JoinClient()
            ->WhereOrder()
            ->SortOrders()
            ->groupBy(DB::raw('DATE(orders.created_at)'));
dima670
@dima670
Nov 16 2016 16:27
Кто знает, как перехватить Exceptrion, который выводится в родительском методе?
dima670
@dima670
Nov 16 2016 16:29
У меня в родительском методе есть try{} catch{}
Мне нужно в моём методе получить исключение и засунуть в JSON
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:30
ты не поверишь...
Dave
@aios
Nov 16 2016 16:30
@SerafimArts xD
dima670
@dima670
Nov 16 2016 16:31
во что я не поверю?
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:31
то что для перехвата исключений родительских методов используется...
*драматургическая пауза*
dima670
@dima670
Nov 16 2016 16:32
ну же, не томи
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:32
*очень длинная, как завещал Станиславский...*
try catch!
:fire: :fire: :fire:
Dave
@aios
Nov 16 2016 16:33
рвануло?)
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:33
ну это спецэффекты просто
типа: огонь, взрывы, кровяка и всё такое
Dave
@aios
Nov 16 2016 16:34
@SerafimArts - Привет че нового?
  • Привет у меня хомяк умер
  • Просто умер
  • Не бл*ть со спецэффектами
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:39
@dima670 ты уже нас не удивишь, я выше спалил эту невероятную функциональность языка, да ещё и со спецэффектами >_>
dima670
@dima670
Nov 16 2016 16:41
Так не работает
Родительский метод содержит try catch
В наследуемом методе я сую исполнение родительского в try
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:43
Я могу показаться слишком предвзятым, но ты пробовал язык выучить, хотя бы процентов на 50% перед тем, как лезть на фрейм? =)
JhaoDa
@jhaoda
Nov 16 2016 16:43
@SerafimArts ну ты прям давишь
Юрий
@sawerus
Nov 16 2016 16:43
@jhaoda @SerafimArts 2 сапога пара ))))
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:43
@jhaoda отныне называй меня "давитель"
dima670
@dima670
Nov 16 2016 16:44
Должно так работать или нет?))
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:44
но учитывая уточнения от @sawerus , предлагаю называть меня всё же "левый давитель"
@dima670 а ты прокидываешь исключение или нет?
Юрий
@sawerus
Nov 16 2016 16:45
@SerafimArts левый, правый, что по середине ? ))
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:45
@sawerus а посередине - "стержень"
dima670
@dima670
Nov 16 2016 16:46
catch из родительского метода
        catch (Exception $ex) {
            if (Request::ajax()) throw $ex;
            else Flash::error($ex->getMessage());
        }
JhaoDa
@jhaoda
Nov 16 2016 16:46
@dima670 оформи код
KarmaBot
@KarmaBot
Nov 16 2016 16:46
@dima670, чтобы код легко читался, поставь перед ним и после него по строке с тремя обратными апострофами (символ ` на клавише с буквой «Ё»).
Узнать больше про оформление сообщений можно в справке по Markdown (кнопка M↓ внизу справа).
Кстати, свои сообщения здесь можно редактировать... ;)
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:48
@jhaoda у тебя прям рефлекс +)
@dima670 теперь к тебе вопрос по приведённому коду. Как ты думаешь, ты прокидываешь исключение?
dima670
@dima670
Nov 16 2016 16:50
Да хз) Как прокидывать?
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 16:51
@dima670 ссылку я уже привёл =)
осталось прочитать и все вопросы отпадут
видишь как оказалось всё просто
Виталя
@ferraghue
Nov 16 2016 17:06
Привет. Ищу пакет\либу\статью или что-то подобное для реализации версионности текста. По типу вики, но для ларавеля. Хистори текста с diff
KarmaBot
@KarmaBot
Nov 16 2016 17:06
Привет, @mrfanta! Проходи, присаживайся. В ногах правды нет :)
Soprun Vladislav
@vlsoprun
Nov 16 2016 17:07
@mrfanta welcome to hell :wink:
Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 17:07
@vlsoprun why?
JhaoDa
@jhaoda
Nov 16 2016 17:08
А, версионности прям именно текста...
Soprun Vladislav
@vlsoprun
Nov 16 2016 17:09
@SerafimArts версионность, текста... Это же жесть, хранить, старую, более старую, древнюю и.т.
куча кб. занимает это все....
dima670
@dima670
Nov 16 2016 17:10
а версионность кода нет?
Soprun Vladislav
@vlsoprun
Nov 16 2016 17:10
@dima670 а текст ты в коде будешь хранить? )))
dima670
@dima670
Nov 16 2016 17:11
@vlsoprun есть же версионность кода и хранятся разные версии, что такого в версионности текста?
Soprun Vladislav
@vlsoprun
Nov 16 2016 17:17

@dima670 ок...
Вот есть сайт и есть сеошник..
он парень инициативный и каждые 30 мин сохраняет новый seo title для главной, прошел его рабочий день...
(8 * 60) / 30 = 16 версий, а страниц было 50.. и не правильно считая 16 * 50 = 800 строк в бд.....

Если повезет то только title менял, в ведь и контент мог дернуть... база растет и история тоже...
Не это не сложно реализовать и подставлять посту id свежей версии, просто это немного сурово учитывая что необходимо сравнение и выявление отличий ))

Kirill Nesmeyanov
@SerafimArts
Nov 16 2016 17:18
для этого не нужный версии
нужны: title и old_title
Soprun Vladislav
@vlsoprun
Nov 16 2016 17:18
@SerafimArts это я абстрактно, как пример привел.
JhaoDa
@jhaoda
Nov 16 2016 17:23
@vlsoprun этого сеошника проще убить
scasic
@scasic
Nov 16 2016 17:58
вечер добрый
KarmaBot
@KarmaBot
Nov 16 2016 17:58
@scasic, и тебе привет ;)
scasic
@scasic
Nov 16 2016 18:00
подскажите, плиз, можно ли получить кастомный аттрибут модели через eager load?
JhaoDa
@jhaoda
Nov 16 2016 18:00
@scasic что ты понимаешь под кастомным атрибутом?
scasic
@scasic
Nov 16 2016 18:01
@jhaoda аттрибут добавленный в массив $appends
JhaoDa
@jhaoda
Nov 16 2016 18:01
@scasic а как это относится к жадной загрузке?
Mikail Aziev
@aziev
Nov 16 2016 18:01
о_О
друзья. есть такая задача. необходимо, чтобы для постов при создании генерировались картинки для шаринга (на медузе есть подобное). на картинках тот же текст что и в постах. как бы все это дело организовать?
ну с генерацией все понятно. а вот если пост отредактируется? может хранить хэш из полей которые могут присутствовать на картинке и его сравнивать, чтобы узнать, нужно ли обновить картинку? или же пофиг, пусть каждый раз обновляется?
JhaoDa
@jhaoda
Nov 16 2016 18:05
@aziev ну если пост редактируется раз 10 в секунду и таких постов сотня, то не пофиг. А если нет, то пофиг.
А можно не упарываться хэшами :), а просто составить список полей, на изменение которых надо реагировать
Mikail Aziev
@aziev
Nov 16 2016 18:09
@jhaoda а как реагировать на изменение отдельных полей? свое событие вызывать?
JhaoDa
@jhaoda
Nov 16 2016 18:09
@aziev про события модели слышал?
Роман Сохарев
@greabock
Nov 16 2016 18:10
@aziev советую копнуть в сторону обсерверов моделей
Nuzsk
@Nuzsk
Nov 16 2016 18:10
@aziev а зачем эти хеши вообще?
просто бросаешь таск в очередь на обновление картинки
никуда этот таск не пропадет, пока картинка не сгенерируется
JhaoDa
@jhaoda
Nov 16 2016 18:11
@Nuzsk ты про сам механизм, а вопрос про то, когда вызывать этот механизм
Mikail Aziev
@aziev
Nov 16 2016 18:11
@jhaoda про события моделей -- да, но про те которые реагируют на отдельные поля нет
JhaoDa
@jhaoda
Nov 16 2016 18:11
@aziev а таких событий и нет. Но с каких пор стало проблемой проверить, изменилось поле или нет?
George Bordiuh
@nikosson
Nov 16 2016 18:12
Здраствуйте! Использую дефолтную авторизацию, которая в комплекте идёт. При регистрации идёт запись в таблицу users, мне нужно делать запись еще в одну таблицу. Куда лучше впихнуть код, который сделает эту запись? Насколько я понял , лучше всего в trait RegisterUsers метод register. Можно ли прям в нём сделать что-то вроде Mailing::create(arguments)?
scasic
@scasic
Nov 16 2016 18:12
@jhaoda вот я и пытаюсь это понять.
и можно ли получить из связанной модели массив с дополнительным элементом, который предопределен в модели и не соответствует столбцу из базы?
Nuzsk
@Nuzsk
Nov 16 2016 18:12
@jhaoda хм, тогда я вообще ничего не понял. сам бы бросал таск на любое событие сохранения модели (вне зависимости от изменений)
Mikail Aziev
@aziev
Nov 16 2016 18:13
@jhaoda действительно :smile:
Роман Сохарев
@greabock
Nov 16 2016 18:13
@aziev у модели есть список "старых" атрибутов,
JhaoDa
@jhaoda
Nov 16 2016 18:14
И есть метод isDirty
Дальше продолжать?:)
Mikail Aziev
@aziev
Nov 16 2016 18:14
@jhaoda нет, довольно)
@jhaoda @greabock спасибо за помощь
KarmaBot
@KarmaBot
Nov 16 2016 18:14
Спасибо (+1) для @jhaoda принято! Текущая карма +1313.
Спасибо (+1) для @greabock принято! Текущая карма +462.
Роман Сохарев
@greabock
Nov 16 2016 18:16
@nikosson подозреваю, что ты уже идешь не тем путем... что конкретно нужно сделать? Только давай на предметной области, а не "мне в базу запись надо".
George Bordiuh
@nikosson
Nov 16 2016 18:20
@greabock Есть ресурс, на котором можно получать email оповещения. Юзер имеет возможность их отключить. Я решил, что сохранят информацию об этих оповещениях в таблице users будет некоректно, и поэтому создал таблицу mailing, которая хранит в себе user_id, answer_notification, news_notification. Когда пользователь регается, я хочу создавать новую запись в этой таблице mailing, которая будет хранит id юзера и answer_notification и news_notification по дефолту = true. Ну и проблема в том, когда и где эту запись создавать
Роман Сохарев
@greabock
Nov 16 2016 18:22
@nikosson ты как раз во-время, буквально перед тобой обсудили обсерверы. Используй их.
George Bordiuh
@nikosson
Nov 16 2016 18:25
@greabock спасибо за помощь!)
KarmaBot
@KarmaBot
Nov 16 2016 18:25
Спасибо (+1) для @greabock принято! Текущая карма +463.
Роман Сохарев
@greabock
Nov 16 2016 18:33
чет гитлаб уже полтора часа обнову деплоят... походу большая XD
в дверь не пролазит )
Роман Сохарев
@greabock
Nov 16 2016 18:46
laravel-news.com тоже лежит...
жесткач какой-то
Юрий
@sawerus
Nov 16 2016 18:47
@greabock у тебя с провайдером жесть ...
у меня открывается
@greabock но открывается долго... может досят
Роман Сохарев
@greabock
Nov 16 2016 18:48
уже открывается
JhaoDa
@jhaoda
Nov 16 2016 18:49
@sawerus т.е. это наши провайдер подменяли главную страницу гитлаба и писали «Deploy in progress»?
Роман Сохарев
@greabock
Nov 16 2016 18:49
=))
Юрий
@sawerus
Nov 16 2016 18:49
@jhaoda нет
))
пропустил сообщение, прочел это - laravel-news.com. открылось и я ответил
Хотя, может там "Продуманные" в провайдере ;-)
JhaoDa
@jhaoda
Nov 16 2016 18:53
https://laravel-news.com/2016/11/blade-components-slots/ чот я два раза прочитал и нихрена не понял
https://laravel-news.com/2016/11/higher-order-messaging/ а вот это годно, но боюсь, что шторму хрен объяснишь
Nuzsk
@Nuzsk
Nov 16 2016 19:03

https://laravel-news.com/2016/11/blade-components-slots/ чот я два раза прочитал и нихрена не понял

пожалуй первый повод использовать laravel вместо yii, слоты это круто, yield тоже ничего

JhaoDa
@jhaoda
Nov 16 2016 19:03
@Nuzsk изыди
Dmitry
@DmitryChere
Nov 16 2016 19:11
парни, если есть переменная var1 с запросом к БД, при создании $var2 = clone $var1 мы получим просто копию переменной var1, запрос к БД же повторно не будет выполняться?
JhaoDa
@jhaoda
Nov 16 2016 19:12
@DmitryChere переменная с запросом или с результатом запроса?
Dmitry
@DmitryChere
Nov 16 2016 19:13
@jhaoda
$ordersQuery = $this->select(
            'orders.id', 'orders.product', 'orders.total',
            'orders.client_id', 'orders.created_at', 'clients.name',
            DB::raw('SUM(total) AS date_total'))
            ->JoinClient()
            ->WhereOrder();

        $ordersQueryClone = clone $ordersQuery;

        return [
            'orders' => $ordersQuery->SortOrders()
                ->groupBy('orders.id')
                ->paginate($this->onPage),

            'graphData' => $ordersQueryClone->orderBy(DB::raw('DATE(orders.created_at)'), 'ASC')
                ->groupBy(DB::raw('DATE(orders.created_at)'))
                ->get()
        ];
JhaoDa
@jhaoda
Nov 16 2016 19:14
@DmitryChere давай включи логику и подумай. Запрос САМ может выполниться?
Dmitry
@DmitryChere
Nov 16 2016 19:19
@jhaoda в смысле сам? я вот щас подумал, оно (ОРМ), по идеи, собирает все (всю эту контрукцию) и потом в конце делает запрос, то есть в моем случае создается не клон результата, а непосредственно клон ОРМ конструкции, то есть на выхлопе будет 2 запроса
JhaoDa
@jhaoda
Nov 16 2016 19:19
@DmitryChere ОРМ не выполняет запрос, его выполняешь ты
Dmitry
@DmitryChere
Nov 16 2016 19:20
@jhaoda то есть запрос 1 один в моем случае?
JhaoDa
@jhaoda
Nov 16 2016 19:20
Ты подготовил запрос, потом клонировал его. У тебя теперь два независимых запроса. Потом ты выполняешь первый через paginate. Как и почему это должно повлиять на второй запрос?
Это два полностью НЕЗАВИСИМЫХ объекта. Это не относится к ОРМ или ларавел, это основы РНР
Dmitry
@DmitryChere
Nov 16 2016 19:21
понял, спасибо
KarmaBot
@KarmaBot
Nov 16 2016 19:21
@likeapimp, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
JhaoDa
@jhaoda
Nov 16 2016 19:21
@DmitryChere видимо, пора заново читать доку по РНР?
Dmitry
@DmitryChere
Nov 16 2016 19:22
@jhaoda возможно
projct1
@projct1
Nov 16 2016 20:17
подскажите чё значат плюсики и минусики в dd? http://joxi.ru/gmveypzUVQNQra
projct1
@projct1
Nov 16 2016 20:28
@jhaoda спс)
KarmaBot
@KarmaBot
Nov 16 2016 20:28
Спасибо (+1) для @jhaoda принято! Текущая карма +1314.
Alexander Bobrov
@kca66y
Nov 16 2016 20:30

Ребята, что за ерунда. Токен есть, а ошибку выдает :(

<input type="hidden" name="_token" value="{{ csrf_token() }}">
$("body").delegate("#hall-form-btn", "click", function () {
    var url = window.location.href;
    var lastSegment = url.split('/').pop();
    var formData = new FormData($("form#hall-form")[0]);
    $.ajax({
        type: 'POST',
        url: '/owner/club-options/' + lastSegment,
        data: formData,
        processData: false,
        success: function (response) {
            var data = JSON.parse(response);
            if (data.response == "success") {
                alert(data.text);
            }
            else{
                alert(data.error_text);

            }
        }
    });
});

TokenMismatchException in compiled.php line 3164:

KarmaBot
@KarmaBot
Nov 16 2016 20:30
@kca66y, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Alexander Bobrov
@kca66y
Nov 16 2016 20:31
Что я мог упустить?
JhaoDa
@jhaoda
Nov 16 2016 20:33
@kca66y видел, о чем бот попросил?
Alexander Bobrov
@kca66y
Nov 16 2016 20:41
@jhaoda да
JhaoDa
@jhaoda
Nov 16 2016 20:43
@kca66y ага... следующий вопрос — как твой вопрос и кусок кода относится к ларавел? То, что ты не можешь передать токен, это проблема не ларавел, а твоя — ты до сих пор не умеешь дебажить код
Alexander Bobrov
@kca66y
Nov 16 2016 20:44
@jhaoda Так он приходит
JhaoDa
@jhaoda
Nov 16 2016 20:47
@kca66y я и говорю, не умеешь дебажить. Трудно посмотреть, какой токен приходит и какой он на самом деле в сессии?
Dmitry
@DmitryChere
Nov 16 2016 20:57
@kca66y так не пробовал?
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': //token
    }
});
это перед выполнением ajax запросов