These are chat archives for LaravelRUS/chat

28th
May 2014
Alexander Egorov
@Amegatron
May 28 2014 00:05
Хм, кому-нибудь приходилось юзать отложенные куки? (Cookie::queue(...)) ? Не могу понять, зачем это нужно :)
Maxim
@Big-Shark
May 28 2014 00:09
@Amegatron я так понимаю если использовать сет, а потом сразу гет, то вернется результат, а это немного не так как в пхп по дефолту, кука доступна будет только в следующем запросе, а походу метод queue как раз и восстанавливает стандартное поведение
Alexander Egorov
@Amegatron
May 28 2014 00:10
сел - это что? селект, селениум? =)
Maxim
@Big-Shark
May 28 2014 00:10
сет*
Alexander Egorov
@Amegatron
May 28 2014 00:11
хм, я у подумал, что кука именно отошлется клиенту только в след. запросе, потому и не понял, в чем тут смысл
надо бы вообще вникнуть в очереди
еще не касался их
Maxim
@Big-Shark
May 28 2014 10:10
Интересный пост от ПрогерХП http://habrahabr.ru/post/224351/
Maxim
@Big-Shark
May 28 2014 10:18
Corvus
@BlahBlag
May 28 2014 10:22
посоветуйте бандл
для обрезки изображений
или есть стандартные функции?
Thomas Anderson
@elvendor
May 28 2014 10:23
@BlahBlag пользуйся паинтом, чувак! это щас в тренде :D
Corvus
@BlahBlag
May 28 2014 10:24
ебанулся?
Thomas Anderson
@elvendor
May 28 2014 10:24
paint? так переустанови)
Corvus
@BlahBlag
May 28 2014 10:24
ты
slider23
@slider23
May 28 2014 10:38
ПрогерХП интересный чувак все-таки. Окуклился, не социализируется особо, делает устойчиво что-то своё (посмотрите у него на сайте пакеты и движки). Сыроед опять же.
Maxim
@Big-Shark
May 28 2014 10:38
@slider23 ага, очень странный
slider23
@slider23
May 28 2014 10:38
@Big-Shark "Основная дыра — в запуске php. Если её закрыть, ничего не будет." ЗОЛОТЫЕ СЛОВА
папка с аплоадом должна быть с php engine 0. Это маст.
Maxim
@Big-Shark
May 28 2014 10:39
а я просто все запросы к любым пхп файлам отправляю на индекс
slider23
@slider23
May 28 2014 10:40
Это, наверное, первый встреченный сыроед, у которого это на пользу пошло.
Thomas Anderson
@elvendor
May 28 2014 10:57
Как запустить одну миграцию в ларе, то есть добавить одну таблицу, не затрагивая другие?
slider23
@slider23
May 28 2014 10:59
--path
до миграции
--path="..."
Thomas Anderson
@elvendor
May 28 2014 11:02
artisan migrate:install --path="" ?
slider23
@slider23
May 28 2014 11:07
хотя стоп, надо проверить
не путь ли это до папки просто
Thomas Anderson
@elvendor
May 28 2014 11:08
так он у меня в стандартной папке
slider23
@slider23
May 28 2014 11:09
до файла оно или просто до папки, которая в нестандартном месте
проверь
Thomas Anderson
@elvendor
May 28 2014 11:10
до папки

посмотрел в stackoverflow много похожих вопрос, ответ один: нет такого способа ибо

Migrations were made to be executed by Laravel one by one, in the exact order they were created, so it can keep track of execution and order of execution. That way Laravel will be able to SAFELY rollback a batch of migrations, without risking breaking your database.

Сделал так: php artisan migrate --pretend и сгенерированный SQL выполнил в консоли
Alexey
@Butochnikov
May 28 2014 12:13
какой хороший пакет для datatables есть, кто пользовался?
Alexander Zhuravlev
@SCIF
May 28 2014 12:14
@Butochnikov , datagrid в смысле?
Ekuzkamaza
@Ekuzkamaza
May 28 2014 12:37
Добрый вечер!
А есть какое-нибудь решение для загрузки произвольного количества файлов на сервер
ну т.е. заранее не известно может ни одного а может 50.
Maksim (Ellrion) Platonov
@Ellrion
May 28 2014 12:52
в ларе есть встроенный класс для работы с загрузкой файлов. Input::file('files');
и возвращать она может массив.
foreach( Input::file('files') as $file) {
// public/uploads
$file->move('uploads/');
}
Alexey
@Butochnikov
May 28 2014 12:55
@Big-Shark пробовал?
Maxim
@Big-Shark
May 28 2014 12:56
@Butochnikov на одном из проектов который я ревьювил его использовали
@Butochnikov https://github.com/samvaughton/laravel4-datatables вот это еще смотрится неплохо
Alexey
@Butochnikov
May 28 2014 12:58
@Big-Shark спасибо, сейчас первый попробую поставить и посмотреть
вообще надо завести полигон для пакетов, чтобы тестить
slider23
@slider23
May 28 2014 13:01
Ни у кого не было опыта с установкой elfinder на второй сервер, который чисто хранилище картинок ? Проблема в том, что js на первом сервере (ckeditor) не может принять данные со второго - кросс-сайтовая безопасность, будь она неладна. Отключить не получается.
Thomas Anderson
@elvendor
May 28 2014 13:03
@Butochnikov +1
есть у меня такой =) пакетов 20, наверное
slider23
@slider23
May 28 2014 13:04
Новый тренд в дизайне - ghost buttons http://siliconrus.com/2014/05/ghost-buttons
Maxim
@Big-Shark
May 28 2014 13:05
@Butochnikov я просто все нужные мне пакеты старю на гитхабе, и там норм подборка
slider23
@slider23
May 28 2014 13:06
А я поймал себя на том, что старю, но потом никогда не заглядываю туда :)
а все нахожу поиском. "кажись когда-то видел такое"
Maxim
@Big-Shark
May 28 2014 13:07
@slider23 зато я слежу за тем что ты старишь)
Alexey
@Butochnikov
May 28 2014 13:07
наткнулся на один урок по datatables и laravel и не могу понять, зачем имея мощный фреймворк использовать либу с сайта datatables? http://youtu.be/YM125dxb12k
Maxim
@Big-Shark
May 28 2014 13:08
@Butochnikov а как это противоречит друг другу7
Alexey
@Butochnikov
May 28 2014 13:08
@Big-Shark @slider23 большой список получился?
slider23
@slider23
May 28 2014 13:09
datatables - это фронт. Было бы удивительно, если бы они вместе с ангуляром её юзали, а фронт в эндом - норм же.
Shappy
@Formcd
May 28 2014 13:09
Привет всем... Разбираюсь с cruddy, вопрос: как поставить директорию в автозагрузку?
Maxim
@Big-Shark
May 28 2014 13:09
@Butochnikov 253 звезды пока)
Maksim (Ellrion) Platonov
@Ellrion
May 28 2014 13:09
@slider23 спс за статью про ghost buttons) Люблю плоский дизайн)
slider23
@slider23
May 28 2014 13:09
@Butochnikov я сейчас туда зашел - 200 звезд, и столько всего интересного! :)
Alexey
@Butochnikov
May 28 2014 13:09
@Big-Shark нет, конечно, не противоречит, просто не удобно... например коннекшен к базе уже прописан в ларике, а тут снова заполняй
Maxim
@Big-Shark
May 28 2014 13:11
@Butochnikov эммм, наверное в уроке чтото не то, или ты его неверно понял, дататейбл это js либа для управления табличками
Alexey
@Butochnikov
May 28 2014 13:12
да, все то, он для ajax запросов юзает php либу с сайта...
slider23
@slider23
May 28 2014 13:12
вот это не гуд
Thomas Anderson
@elvendor
May 28 2014 13:12
@Butochnikov для бэкенда там конекшн дефолтный используется, не пишешь ничего
я по крайней мере юзал как то https://github.com/samvaughton/laravel4-datatables
Maxim
@Big-Shark
May 28 2014 13:13
@Butochnikov так это просто код для примера на сайте, я хз зачем он его юзает если можно просто вернуть json в нужном формате и все
Alexey
@Butochnikov
May 28 2014 13:13
@Big-Shark так и я не понял, вот и написал )
Maxim
@Big-Shark
May 28 2014 13:14
@Butochnikov урок плохой просто)
Alexey
@Butochnikov
May 28 2014 13:14
@bayram4ik а этот пакет не смотрел Chumper/Datatable?
Thomas Anderson
@elvendor
May 28 2014 13:22
точно не смотрел
Shappy
@Formcd
May 28 2014 13:30
Помогите плз:)
New schema will be created in app/entities directory. For now, this is just a class that is not even autoloaded, so we need to do two things: add directory to composer class map and add schema to the entity repository. I hope you know how to make a directory autoloadable.
Здесь застопорился с cruddy... Я понимаю что написано, как сделать не понимаю, подскажите плз:)
собственно я так понимаю что созданная папка не подгружается автоматически, как это сделать?
Maxim
@Big-Shark
May 28 2014 13:32
@Formcd композер?
Thomas Anderson
@elvendor
May 28 2014 13:32

@Formcd в composer.json в области

        "classmap": [
            "app/database/migrations",
            "app/database/seeds"
        ],

пропиши путь app/entities

Shappy
@Formcd
May 28 2014 13:32
Хм.. я думал это где-то в конфиге... Спасибо:)
Thomas Anderson
@elvendor
May 28 2014 13:35
А вот это я не совсем понял add schema to the entity repository
я так и не добрался до круди
Shappy
@Formcd
May 28 2014 13:36
@bayram4ik это я сделал... там дальше расписано... Только чет все равно не работает... :) Ща буду пробовать дальше... Есть тут кто с крудди помочь может? Кто делал?
Thomas Anderson
@elvendor
May 28 2014 13:36
composer dump-autoload сделай на всякий случай :)
Shappy
@Formcd
May 28 2014 13:38
@bayram4ik Я тебя люблю:)
Thomas Anderson
@elvendor
May 28 2014 13:42
:D
Twent
@twent
May 28 2014 17:03
Подскажите пожалуйста, как правильно реализовать построение нескольких графиков на одной странице. Данные для одного сейчас берутся аяксом с определенного маршрута. Не создавать же для данных каждого графика свой маршрут (адрес)?
Shappy
@Formcd
May 28 2014 17:17
@twent собирай данные графиков в массив json и отправляй...
а потом то что примешь разбирай у клиента...
Twent
@twent
May 28 2014 17:31
@Formcd А можно про "собирание" и "разбирание" подробнее? Где почитать, пример посмотреть можно?
Shappy
@Formcd
May 28 2014 17:50
@twent http://ru.wikipedia.org/wiki/JSON Да хоть тут:) По сути тебе надо просто оформить массивом в JSON формате то что ты отсылаешь, а у клиента ты уже будешь разбирать какой массив для какого графика...
В пхп и джаваскрипте есть специальные функции для разбора json'a
Либо кстати... можно при обращении к твоей функции, которая выдает тебе данные графика, передавать название (или id, что удобней...) графика, в функции вытягиваешь данные для графика и отсылаешь...
Смотря что у тебя за графики...
И как ты их формируешь...
Alexander Egorov
@Amegatron
May 28 2014 19:22
Если кто желает сделать материальный подарок Тэйлору по случаю его ДР, это можно сделать тут: https://www.gittip.com/taylorotwell/
Twent
@twent
May 28 2014 19:24

Вот пример передаваемого массива

{
    "status":
        [
            {"status":1,"date":"\u041d\u043e\u0432\u0430\u044f","value":2},{"status":2,"date":"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430","value":3},{"status":3,"date":"\u0413\u043e\u0442\u043e\u0432\u043e","value":1}
        ]
}

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

            $.ajax({
                type: "GET",
                dataType: 'json',
                url: "./api", // This is the URL to the API
                data: { days: days }
                })
                .done(function (data) {
                    // When the response to the AJAX request comes back render the chart with new data
                    chart.setData(data);
                })
                .fail(function () {
                    // If there is no communication between the server, show an error
                    alert("error occured");
                })
                .always(function () {
                    // No matter if request is successful or not, stop the spinner
                    spinner.stop();
                });
            }

        var chart = Morris.Bar({
            element: 'stats-container',
            data: [0,0], // Set initial data (ideally you would provide an array of default data)
            xkey: 'date', // Set the key for X-axis
            ykeys: ['value'], // Set the key for Y-axis
            labels: ['Кол-во заявок'], // Set the label when bar is rolled over
            });
Shappy
@Formcd
May 28 2014 19:33
Я пока только вижу ошибку в синтаксисе аякса... Может просто пример не полный и до этого что-то есть:)
По сути скрипт должен делать следующее...
Посылать запрос (с параметрами если надо, они в примере есть), далее при получении ответа через функцию jQuery.parseJSON разбираем то что пришло... Ну а потом ставишь куда надо...

Короче...

.done(function (data) {
                    // When the response to the AJAX request comes back render the chart with new data
                    chart.setData(data);
                })

сюда как data приходит ответ... Это в JSON формате тебе необходимо дать ему выбранную часть, т.е. только для одного графика... Т.о. сначала разбираешь весь JSON, и если пришел ответ по конкретному графику, то выполняем функцию chart.setData(data);
chart в данном случае только один конкретный график...

Twent
@twent
May 28 2014 19:57
@Formcd Если честно, мне объяснение на словах ничего не дает. Я никогда не сталкивался с этим, делаю по шаблону. Один график по образцу и подобию сделал, а с несколькими - уже проблема. JSON и Ajax для меня совсем новые вещи, в которых я нисколько не разбираюсь. Думаю, что в не далеком будущем не составит особой сложности разобраться в них довольно подробно. Сейчас цель - просто реализовать, чтобы успеть закончить дипломную работу в срок.
Shappy
@Formcd
May 28 2014 20:08
@twent У тебя 2 варианта... Либо понять как разобрать JSON строку с помощью js и выполнить функцию setData для каждого графика передавая каждому свои данные... Либо другой вариант - это переделать немного аякс и метод принимающий его... Смысл в том что ты можешь вместе с days: days отправлять что-то идентифицирующее график, например id или name... Далее в функции которая принимает запрос смотреть какие данные нужно отослать, выбрать из БД -> отослать вместе с данными (всмысле для какого графика) и в функции .done скрипта проверять какому графику принадлежат данные и уже их присваивать...
Первый вариант легче мне кажется... Тебе в любом случае придется разобраться если ты хочешь решить проблему...
@twent Короче... Чтоб тебе проще было... .done выполняется когда пришел ответ, просто попробуй разобрать json... Вот что приходит у тебя:
{
"status":[
{
"status":1,
"date":"\u041d\u043e\u0432\u0430\u044f",
"value":2
},
{
"status":2,
"date":"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430",
"value":3
},
{
"status":3,
"date":"\u0413\u043e\u0442\u043e\u0432\u043e",
"value":1
}
]
}
Тебе надо отдать каждому графику свои
"status":2,
"date":"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430",
"value":3
эти 3 параметра
Или что это за параметры там:)
Shappy
@Formcd
May 28 2014 20:14
Я тоже просто так сказать не смогу:) тебе должно быть виднее...
поэкспериментируй с функцией JSON.parse(data); в функции .done
Что-то типа
var json = '{"result":true,"count":1}',
    obj = JSON.parse(json);

alert(obj.count);
В твоем случае скорее всего отдавать надо
.done(function (data) {
                    // When the response to the AJAX request comes back render the chart with new data
                    var obj = JSON.parse(data);
                    chart.setData(obj.status[0]); // Это первый массив, если я не ошибся с синтаксисом
                })
Alexander Egorov
@Amegatron
May 28 2014 20:18
Справедливости ради могу заметить, что при ajax-запросе можно указать dataType: "json" , и тогда он сам сделает json decode
Shappy
@Formcd
May 28 2014 20:19
@Amegatron ^^ я не знал
Shappy
@Formcd
May 28 2014 20:29

@twent Посмотрел я что ты делаешь... Весь твой, пример который ты приводил должен быть в одном графике, т.е. это массив переменных для одного графика как я понял... Тебе нужно сделать выборку из БД для нескольких графиков и упаковать их в массив вроде :

{

  "graph1":[
{"status":1,"date":"\u041d\u043e\u0432\u0430\u044f","value":2},   {"status":2,"date":"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430","value":3},                                 {"status":3,"date":"\u0413\u043e\u0442\u043e\u0432\u043e","value":1}
],

"graph2":[
{"status":1,"date":"\u041d\u043e\u0432\u0430\u044f","value":2},   {"status":2,"date":"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430","value":3},{"status":3,"date":"\u0413\u043e\u0442\u043e\u0432\u043e","value":1}
],

"graph3":[
{"status":1,"date":"\u041d\u043e\u0432\u0430\u044f","value":2},   {"status":2,"date":"\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430","value":3},{"status":3,"date":"\u0413\u043e\u0442\u043e\u0432\u043e","value":1}
]
}

Т.е. для каждого графика свой массив с данными должен приходить... В ф-ии .done проверяешь если пришли данные для graph1, то setData() выполняешь передавая в ф-ю нужный массив...

Twent
@twent
May 28 2014 20:39

Дак таким образом и делаю, посмотри выше, status - это данные для первого графика
Кое-какой прогресс..
Вот так выводятся нужные мне данные первого графика

                .done(function (data) {
                    chart.setData(data.status);
                })

Можно ли в приведенной выше процедуре обработать сразу три графика, или для каждого графика должна быть своя функция?

Shappy
@Formcd
May 28 2014 20:42
:) можно... Если будешь отсылать ответ в таком формате как писал выше... Тогда тебе надо будет писать так:
                .done(function (data) {
                    chart1.setData(data.graph1);
                    chart2.setData(data.graph2);
                    chart3.setData(data.graph3);
                })
Желательно сделать проверку на существование...
Shappy
@Formcd
May 28 2014 20:55
Ищу человека кто работал с Cruddy
Twent
@twent
May 28 2014 20:58
Спасибо вам, @Formcd , всё отлично :)
Shappy
@Formcd
May 28 2014 20:59
@twent Не за что:) Удачной сдачи...
Twent
@twent
May 28 2014 21:02
@Formcd спасибо
Alexander Egorov
@Amegatron
May 28 2014 21:48
кто не спит и кому не лень: зацените мою первую статейку из серии:
http://amegatron.ru/2014/05/poetapnaya-razrabotka-sajta-na-laravel-4-urok-1/
завтра в группе опубликуем
Shappy
@Formcd
May 28 2014 21:50
@Amegatron молодец:) Завтра обязательно прочту, сейчас голова уже не рубит:)