These are chat archives for LaravelRUS/chat

8th
Aug 2015
Alexander Zhuravlev
@SCIF
Aug 08 2015 01:58
@Ellrion , из-за недостаточной прокачанности элокветна и были поиски и был найден пропел. Имхо, удобней. Смотря насколько малые приложения интересуют :) Вообще проще писать миграции — есть, как и в доктрине, генератор диффов/миграций. Есть бихевиор наследования, что мне нравится чуть более, чем полностью
Скоро будет возможность генерить свои коллекции для каждого типа. Сейчас есть «костылёк» чтобы получать свои коллекции, но он требует ручной работы, а до alpha6 я сделаю нормальную генерацию. Есть мелкие косяки, не без этого, но пока, имхо, плюсы и удобство сильно превышают неудобства.
С доктриной сравнивать сложно. Ведь доктрина это data-mapper. Там другой подход. Более энтерпрайзный, в некоторых местах более кошерный, но меня он подбешивает (может ещё недостаточно прокачался, чтобы оценить и влюбиться навсегда в него :)). Сравнивать нужно с элоквентом. Отдельный query класс — это круто, как уже выше писал @Big-Shark.
Maxim
@Big-Shark
Aug 08 2015 03:15
@Ellrion а для меня отдельным плюсом еще идет автоподстановка значений, ты де пытаешься вспомнить как там эта связь у тебя называется, ты просто начинаешь писать join, и тебе сразу выдаются все варианты.
@Ellrion пропел в 4 раза быстрей доктрины 2.4 и имеет связи которых нет в доктрине 2.4, да и как по мне так он приятней в работе)
Alexander Zhuravlev
@SCIF
Aug 08 2015 03:24
Про скорость это ненужный и ни к чему не приводящий разговор. Допустим, доктриновцы приводят тесты где доктрина быстрей pdo драйвера :D
Maxim
@Big-Shark
Aug 08 2015 03:26
@SCIF видил я эти тесты)
Uladimir Sadkou
@GaintVlad
Aug 08 2015 06:45
DB::table('posts')->delete();
данные из таблицы удаляются, а как сбросить индексы?
Maxim
@Big-Shark
Aug 08 2015 06:45
@GaintVlad дроп тейбл
Uladimir Sadkou
@GaintVlad
Aug 08 2015 06:45
Это в Seed
Alexander Zhuravlev
@SCIF
Aug 08 2015 06:47
@GaintVlad , что под индексами понимается? Значение next autoincrement?
Uladimir Sadkou
@GaintVlad
Aug 08 2015 06:48
@SCIF Да. Для того чтоб накатить seed повторно.
Alexander Zhuravlev
@SCIF
Aug 08 2015 06:48
SO подсказывает: DB::update("ALTER TABLE {your table name} AUTO_INCREMENT = 100000;");
А почему не дропнуть?
Uladimir Sadkou
@GaintVlad
Aug 08 2015 06:50
В Seed придется создавать ее по новой. Как то рука не подымается. То не миграция
4502040
@4502040
Aug 08 2015 06:50
DB::table('users')->truncate();
Uladimir Sadkou
@GaintVlad
Aug 08 2015 06:50
Спс
projct1
@projct1
Aug 08 2015 07:05
ребят подскажите как правильно загрузку изображений делать, если тока запись завожу, получается айдишки нету ещё, куда грузить то?
Alexander Zhuravlev
@SCIF
Aug 08 2015 07:06
@rorc , валидация перед сохранением записи, перемещение после сохранения записи.
projct1
@projct1
Aug 08 2015 07:07
а если аяксом гружу
Alexander Zhuravlev
@SCIF
Aug 08 2015 07:07
Ну тогда уточняй свою схему. Складывай в /tmp и в сессию путь до файла.
projct1
@projct1
Aug 08 2015 07:08
чтобы загружать файлы не надо же сторонние пакеты грузить, стандартным симфонивсим аполадерем пользоваться?
Alexander Zhuravlev
@SCIF
Aug 08 2015 07:10
Ну надо полагать в $request->files лежат UploadedFile уже и он умеет себя перемещать и содержит всю необходимую инфу. // я ларавел давно не щупал, но полагаю также как и симфони этот стек работает
projct1
@projct1
Aug 08 2015 07:11
ок спс\
Maxim
@Big-Shark
Aug 08 2015 07:38
А кто как работает с формами в лараель, использует кто http://laravelcollective.com/docs/5.1/html ?
projct1
@projct1
Aug 08 2015 08:09
как в Blueprint составной уникальный индекс прописать?
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 08:10
@SCIF @Big-Shark Спасибо за ответ, будем посмотреть. Так то пропел я в свое время щупал, но нормально так и не взялся за него. Мб теперь пересмотрю
Maxim
@Big-Shark
Aug 08 2015 08:11
@Ellrion Если что, обращайся
projct1
@projct1
Aug 08 2015 08:11
разобрался
projct1
@projct1
Aug 08 2015 08:26
кстати если названия индексов будут огромными, на что это влияет?
4502040
@4502040
Aug 08 2015 08:37
рЕБЯТА У МЕНЯ ВОТ ТАКОЙ ВОПРОС, касается БД Мускуель,
есть 76 млн записей, 18 ГБ, если удлаю 50 % записей, размер уменьшится ?
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 08:40
null@4502040 какой то странный вопрос. "у коли было 4 яблока. 2 он отдал. сколько у коли осталось яблок?".
4502040
@4502040
Aug 08 2015 08:40
имею ввиду, не нужно ли после очистки запускать optimize и т.д ?
Uladimir Sadkou
@GaintVlad
Aug 08 2015 08:40
И Вас пустили к такой БД?
4502040
@4502040
Aug 08 2015 08:41
просто было 18 ГБ, после очистки так же остался.
Maxim
@Big-Shark
Aug 08 2015 08:42
@GaintVlad там наверное ктото решил что неплохо бы записывать движения мышки пользователя в БД в виде координат каждую милисекунду)
4502040
@4502040
Aug 08 2015 08:42
нет, это gps трекеры, координаты машин
каждые 15 сек пишем
150 машин
Sergey Gladkovskiy
@smgladkovskiy
Aug 08 2015 08:42
MyISAM или InnoDB?
4502040
@4502040
Aug 08 2015 08:43
майзам
Sergey Gladkovskiy
@smgladkovskiy
Aug 08 2015 08:43
оптимайзь
4502040
@4502040
Aug 08 2015 08:43
один товарищ сказал, что после очитски остается типа пустые ячейкые, без данных.
Maxim
@Big-Shark
Aug 08 2015 08:43
null@4502040 а ночью тоже записываете когда машина стоит?
4502040
@4502040
Aug 08 2015 08:43
это верно ?
пишется, когда машина движется.
если стоит - то нет
да, запустил оптимайз, проверим на деле
@smgladkovskiy , верно все. только после оптимайза , освободился, место.
Sergey Gladkovskiy
@smgladkovskiy
Aug 08 2015 08:46
гуд
4502040
@4502040
Aug 08 2015 08:46
спс
было 18 ГБ, стало 6 ГБ
Sergey Gladkovskiy
@smgladkovskiy
Aug 08 2015 08:49
Пользуйте для подобных данных лучше noSQL базу (MongoDB, например). Быстрее работает, проще использовать в работе, проще масштабировать, меньше геморроя с администрированием.
на больших объёмах - самое оно
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 08:49
официально приношу свои извинения) вопрос нетривиальный и о нем не знал. погуглил) спс буду в курсе.
4502040
@4502040
Aug 08 2015 08:49
спс. беру на заметку
Uladimir Sadkou
@GaintVlad
Aug 08 2015 08:59

Детский вопрос, но застрял.. В методе контроллера:

$partner = Partner::findOrFail(1);
return view('pacts.newstore', compact('partner');

Ругается как я понял на недопустимый формат Partner-Объект. Мне потом во вьюхе надо получать $partner->name, $partner->adress. Куда ковырнуть?

Uladimir Sadkou
@GaintVlad
Aug 08 2015 09:10
или должно работать? В реале все немного сложнее...
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 09:26
должно работать
напиши лучше полностью ошибку
projct1
@projct1
Aug 08 2015 09:29
можно секции в секциях создавать подобным образом?
@extends('admin.layout')
@section('content')
{!! Form::open(['action' => 'Admin\ProductController@store', 'files' => true]) !!}
@section('extendedFields')
<div class="form-group">
{!! Form::label('image', 'Картинки:') !!}
{!! Form::file('image[]', ['multiple', 'accept' => 'image/*']) !!}
</div>
@stop
@include('admin.form')
{!! Form::close() !!}
@stop
шторм ругается
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 09:31
если у тебя работает то можно)
Uladimir Sadkou
@GaintVlad
Aug 08 2015 09:33

Сорри ошибка в другом месте. Связь User-Partner один к одному. Нужно по авторизованному пользователю получить его собственную организацию.

 $org = Auth::user()->partners()......

Дальше как закончить? :)

Alexander Zhuravlev
@SCIF
Aug 08 2015 09:35
@GaintVlad , partners() вернёт не модель связанную или коллекцию, а объект связи. Вряд ли тебе это нужно
dd(Auth::user()->partners) посмотри и думаю разберёшься
Uladimir Sadkou
@GaintVlad
Aug 08 2015 09:44
Могут ли быть при такой связи (один к одному) индексы user_id в таблице partners нулевыми?
Надо реализовать: Каждый пользователь относятся к какой то одной организации (partners). Не все, а только некоторые организации "имеют" хозяина.
Alexander Zhuravlev
@SCIF
Aug 08 2015 09:45
Да, даже fk может иметь значение null
Uladimir Sadkou
@GaintVlad
Aug 08 2015 10:23

dd(Auth::user()->partners) посмотри и думаю разберёшься`

Кажется я понимаю, что у меня не получается. В одном методе я получаю 2 разных экземпляра объекта. Потом отправляю их в шаблон. И шаблону это не нравится.
В контроллере:

 $partner = Partner::findOrFail($request->input('partners'));
  $org= Auth::user()->partners;
  return view('pacts.test', ['pact_type' => $pact_type], compact('org'), compact('partner'));

в шаблоне:

Организация {{$org->name}}<br/>
Покупатель {{$partner->name}}

Как с этим жить дальше? :)

Maxim
@Big-Shark
Aug 08 2015 10:23
@GaintVlad это чего у тебя за магия дакая во вью передается?
Uladimir Sadkou
@GaintVlad
Aug 08 2015 10:24
Магия?
Maxim
@Big-Shark
Aug 08 2015 10:25
@GaintVlad ['pact_type' => $pact_type], compact('org'), compact('partner')
Alexander Zhuravlev
@SCIF
Aug 08 2015 10:25
Так там разве не фиксировано не более 3 аргументов?
    function view($view = null, $data = [], $mergeData = [])
    {
        $factory = app('Illuminate\Contracts\View\Factory');

        if (func_num_args() === 0) {
            return $factory;
        }

return $factory->make($view, $data, $mergeData);
    }
Uladimir Sadkou
@GaintVlad
Aug 08 2015 10:26
ааа. Не знал.
Спасибо
Alexander Zhuravlev
@SCIF
Aug 08 2015 10:26
Я тоже не знал, только что глянул :))
Ну передавай просто компакту все. И вообще тупо два аргумента будет
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 10:27
очень много вижу не понимают функцию компакт
Uladimir Sadkou
@GaintVlad
Aug 08 2015 10:27
Угу...
Nick
@20y
Aug 08 2015 10:30
ребят, привет, подскажите пожалуйста, каким образом я могу передать через ajax пост id такого вот роута? Route::get('news/{id}-{slug?}', ['as' => 'news', 'uses' => 'NewsController@show']);
Alexander Zhuravlev
@SCIF
Aug 08 2015 10:32
@Scoolerov , а можно чуть понятней что нужно сделать?
Nick
@20y
Aug 08 2015 10:33
@SCIF нужно подгрузить контент через ajax с уникальным айди который собственно и передается в адресной строке {id}, я пытался делать так
 $.ajax({
        url: '/news/{id}-{slug}',
        type: 'GET',
        data: $(this),
        success: function (data) {
            console.log(data)
        }      
    });
Maxim
@Big-Shark
Aug 08 2015 10:39
@Scoolerov и что ты ожидаешь, тут ты думаешь Jquery знает что-то про роуты в ларавель?
Alexander Zhuravlev
@SCIF
Aug 08 2015 10:41
Я так и не понял, речь про извлечение ида средствами jquery или обо что вопрос :(
projct1
@projct1
Aug 08 2015 11:46
подскажите как связи правильно сделать
есть таблица товаров, таблица характеристик, таблица связующая первые 2
в модели Характеристик прописал:
public function product()
{
return $this->belongsToMany('App\Models\Product', 'shop_product_property');
}
всё работает
а как аналогично для Product создать, мол товар имеет много характеристик:
public function property()
{
return $this->hasMany('App\Models\Property');
}
это не помогает
Uladimir Sadkou
@GaintVlad
Aug 08 2015 11:50
Имена не стандартные пользуешь?
projct1
@projct1
Aug 08 2015 11:54
полей?
property_id и product_id в связующей таблице
реально, как получить все характеристики конкретного товара?
Uladimir Sadkou
@GaintVlad
Aug 08 2015 12:06
С функцией hasMany - все нормально. Ищи дальше. Имена связующих полей всех таблиц, методы в котроллере и т.д.
projct1
@projct1
Aug 08 2015 12:19
по сути надо так же написать $this->belongsToMany('App\Models\Product', 'shop_product_property'); только вместо модели продукта, модель характеристики
то есть $this->hasMany('App\Models\Product', 'shop_product_property');
но так нельзя ((
@rorc В обоих моделях belongsToMany
projct1
@projct1
Aug 08 2015 12:30
@Rhincodon точно, всё элементарно, спасибо)) просто как-то установка в башке, если одна модель belongsTo, то в другой должно быть has
projct1
@projct1
Aug 08 2015 12:45
подскажите хелпер, заменяющий ключ в массиве)
если массив с ключём например parent_id, а мне надо чтобы заменилорсь на category_id
Alexander Zhuravlev
@SCIF
Aug 08 2015 12:52
А есть варианты кроме array_map?
SekToRCoM
@SekToRCoM
Aug 08 2015 14:05

Добрый день, почему не работает такой оператор if в шаблонах?

@if (\Auth::user()->group != "cooperator" || \Auth::user()->group != "admin")
    <b>Контакты:</b> <br>
    Email: cooperation@
@endif

Текст, указанный внутри всё равно показывается пользователю с группой admin

JhaoDa
@jhaoda
Aug 08 2015 14:08
@SekToRCoM потому что первая часть условия истинна
SekToRCoM
@SekToRCoM
Aug 08 2015 14:09
@jhaoda но ведь у нас стоит оператор "или".
JhaoDa
@jhaoda
Aug 08 2015 14:09
@SekToRCoM ага. ИЛИ то, ИЛИ сё.
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:09
Да и вообще — группа у пользователя одна?
JhaoDa
@jhaoda
Aug 08 2015 14:09
@SekToRCoM всё верно.
SekToRCoM
@SekToRCoM
Aug 08 2015 14:09
@SCIF групп много.
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:09
Тогда я вообще не понимаю что и как ты проверяешь
JhaoDa
@jhaoda
Aug 08 2015 14:10
@SekToRCoM первая часть условия сработала, зачем работать второй?
SekToRCoM
@SekToRCoM
Aug 08 2015 14:10
@jhaoda так как человек может не находиться ни в одной из этих групп :)
JhaoDa
@jhaoda
Aug 08 2015 14:10
@SekToRCoM наверное, надо основы подучить, а?
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:10
Да и раз груп много, то там соотв. объект который всегда будет к 1 (или 0, не помню) кастоваться
JhaoDa
@jhaoda
Aug 08 2015 14:10
@SekToRCoM что бы понимать, когда ИЛИ, а когда И...
SekToRCoM
@SekToRCoM
Aug 08 2015 14:11
@jhaoda я-то понимаю.
Для начала проверим, не находится ли пользователь в группе cooperator либо в группе admin.
JhaoDa
@jhaoda
Aug 08 2015 14:12
@SekToRCoM нет, ты не понимаешь
SekToRCoM
@SekToRCoM
Aug 08 2015 14:12
Если же он не находится ни в одной из них, то выведем ему текст (выше)
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:12
@SekToRCoM , ты же говорил, что он админ.
JhaoDa
@jhaoda
Aug 08 2015 14:13
@SekToRCoM Если первая часть условия ИЛИ — истина, то второй зачем выполняться?
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:13
Ну и ещё раз — ты пытаешься к строке привести коллекцию.
SekToRCoM
@SekToRCoM
Aug 08 2015 14:13
@jhaoda ну, а если же он админ??? Но не cooperator
JhaoDa
@jhaoda
Aug 08 2015 14:14
@SekToRCoM почитай про булевы условия
SekToRCoM
@SekToRCoM
Aug 08 2015 14:15
Нужно "или то или то", у меня верно составлен запрос.
JhaoDa
@jhaoda
Aug 08 2015 14:15
@SekToRCoM $a || $b: TRUE если или $a, или $b TRUE.
Строчка из мануала
SekToRCoM
@SekToRCoM
Aug 08 2015 14:15
Но у меня не выполняется ни один из этого.
JhaoDa
@jhaoda
Aug 08 2015 14:15
@SekToRCoM $a && $b: TRUE если и $a, и $b TRUE.
SekToRCoM
@SekToRCoM
Aug 08 2015 14:15
Потому я и обратился.
Я-то умею их составлять
Я сейчас нахожусь под пользователем с группой "админ", то мне всё равно отдается тот текст.
JhaoDa
@jhaoda
Aug 08 2015 14:16
@SekToRCoM так, еще раз. Юзер с группой admin проходит через первую часть условия?
SekToRCoM
@SekToRCoM
Aug 08 2015 14:17
Нет
Но проходит через вторую.
потому и стоит "|| (or/или)"
JhaoDa
@jhaoda
Aug 08 2015 14:17
@SekToRCoM как нет? В условии что написано? \Auth::user()->group != "cooperator"
Он cooperator? Нет, значит выражение истинно.
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:19
@SekToRCoM , "admin" != "cooperator" какой результат даст?
SekToRCoM
@SekToRCoM
Aug 08 2015 14:19
Окей, тогда будет запрос иначе.
@if (\Auth::user()->group == "cooperator" || \Auth::user()->group == "admin")
текст для этих групп
@else
текст
@endif
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:20
Повторюсь, если group — это метод/свойство/аксессор либо связь 1 к 1 (с реализованным __toString() у модели), то должно сработать.
JhaoDa
@jhaoda
Aug 08 2015 14:21
@SCIF человек не понимает, как работают логические операторы и не понимает разницы между И и ИЛИ, при чем тут связь в модели?
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:22
@jhaoda , при том, что если у него group— связь, то оно будет приводиться к строке и будет всегда фейлиться. Последний кусок вью он написал верно. Правда не написал что у него не работает и в каком случае
JhaoDa
@jhaoda
Aug 08 2015 14:23
@SCIF ну он же сказал, что по его мнению, оператор ИЛИ должен обязательно проверить обе части условия
projct1
@projct1
Aug 08 2015 14:23
@SekToRCoM dd(\Auth::user()->group) что выводит
JhaoDa
@jhaoda
Aug 08 2015 14:23
А вот мануал и логика с ним не согласны...
User195
@User195
Aug 08 2015 14:24
Привет. Пытаюсь в Faker'e сгенерировать модель Order со связаными Subjects. Пытаюсь так, но не знаю в чём может быть пробелма:
App\Order::create([
            'name'        => "Name",
            'description' => $faker->text(),
            'price'       => $faker->numberBetween(40, 450),
            'by_time'     => $faker->date(),
            'user_id'     => 1,
        ])->subjects()->saveMany(factory(App\Subject::class, 3)->create()->toArray());
Alexander Zhuravlev
@SCIF
Aug 08 2015 14:24
@jhaoda , у него слишком много противоречащих утверждений, поэтому мы тут гадаем на кофейной гуще ;) Да, я целиком и полностью согласен, что человек до этого в обычном || не мог разобраться. Либо говорил фигню каккую-то, а не вопросы.
User195
@User195
Aug 08 2015 14:25
по отдельности всё Order и Subject нормально создаются

я так понял что saveMany() принимает массив объктов, значит

factory(App\Subject::class, 3)->create()->toArray()

возвращает не массив объектов, как узнать что эта строка возвращает?

ivanchenkoandriy
@ivanchenkoandriy
Aug 08 2015 14:31
var_dump
firephp
xdebug
ide (netbeans) + xdebug
еще много вариантов
User195
@User195
Aug 08 2015 14:34
у меня ошибки отображаюся, но я всё равно не знаю в чём проблема
ivanchenkoandriy
@ivanchenkoandriy
Aug 08 2015 14:38
ты знатный троль ...
Denis Isaychenko
@Rhincodon
Aug 08 2015 14:41
@User195 toArray() замени на all().
@User195 create возвращает коллекцию, а saveMany принимает массив моделей. toArray возвращает просто массив, а не массив моделей
User195
@User195
Aug 08 2015 14:43
@Rhincodon спасибо
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 15:24
веселый тут выше тип был, кодить на фреймворке и невъезжать в булеву логику это сильно.
JhaoDa
@jhaoda
Aug 08 2015 15:28
@Ellrion ты чо, он два раза сказал, что всё знает!
projct1
@projct1
Aug 08 2015 16:59
как получить lastInsertId ?
Maxim
@Big-Shark
Aug 08 2015 17:00
гугл не тут
projct1
@projct1
Aug 08 2015 17:00
cgc
спс
JhaoDa
@jhaoda
Aug 08 2015 17:01
@rorc доку открывал?
projct1
@projct1
Aug 08 2015 17:02
без сторонних библиотек как ещё на уровне валидации в FormRequest проверить, уникальность поля, если оно формируется в мутаторе модели?
slug => unique:pages это понятно, но slug у мен формируется в мутаторе
JhaoDa
@jhaoda
Aug 08 2015 17:03
Ну, например, создать модель и проверить
Хотя не, чота сильно просто как-то
projct1
@projct1
Aug 08 2015 17:04
пользуюсь Watson\Validating\ValidatingTrait
хотелось бы без доп библиотек решить вопрос
JhaoDa
@jhaoda
Aug 08 2015 17:04
@rorc ты вообще читаешь, что тебе пишут?
projct1
@projct1
Aug 08 2015 17:05
@jhaoda какую модель?
ты о чём
JhaoDa
@jhaoda
Aug 08 2015 17:05
:)
@rorc гражданин, у тебя пятница еще не кончилась, да?
projct1
@projct1
Aug 08 2015 17:05
короче не знаешь)
JhaoDa
@jhaoda
Aug 08 2015 17:05
Мутатор у тебя где, не в модели, нет?
projct1
@projct1
Aug 08 2015 17:05
в модели
JhaoDa
@jhaoda
Aug 08 2015 17:05
Ну так а хрена ли вопрос-то «какую модель?»
projct1
@projct1
Aug 08 2015 17:06
при чём тут создать модель и проверить?
я написал уже что модел ь есть
JhaoDa
@jhaoda
Aug 08 2015 17:06
Пздц...
GamePostOFF
@GamePostOFF
Aug 08 2015 18:10
hey. как группировать полученные записи (по дням) из БД и складывать их поля (к примеру, сколько видео они просмотрели)? Делаю вывод статистики юзеров в админ-панели. Имеются поля: user, day, value.
JhaoDa
@jhaoda
Aug 08 2015 18:13
@GamePostOFF как это делается вообще или именно в элоквенте?
GamePostOFF
@GamePostOFF
Aug 08 2015 18:14
@jhaoda можно и то, и другое.
JhaoDa
@jhaoda
Aug 08 2015 18:14
@GamePostOFF кхм, может быть основы mysql подучить для начала?
Почитать про GROUP BY
GamePostOFF
@GamePostOFF
Aug 08 2015 18:15
Уже читаю
Оу, это оказалось то, что мне нужно :). Таааак-с..
GamePostOFF
@GamePostOFF
Aug 08 2015 18:26
$data = Statistics::groupBy('day')->get();
return $data;
Всё отлично :)
Сделал по аналогу orderBy
Нооо, нет. Оно группирует, но не суммирует значения.
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 18:31
видимо ты не дочитал про груп бай
иди читай еще
GamePostOFF
@GamePostOFF
Aug 08 2015 18:37
Читаю про суммирование.
Так-с. Вот тот запрос, который мне нужно перенести на Eloquent: SELECT day, SUM(`downloads`), SUM(`launches`), SUM(`summ`), SUM(`referral`) FROM `statistics` GROUP BY `day`
Как теперь такое осуществить? :(
GamePostOFF
@GamePostOFF
Aug 08 2015 18:49
Долгое и мучительное действие, но я его сделал.
lolname
@lolname
Aug 08 2015 19:42
кто то работал с ssh? Почему у меня выскакивает сообщение что по порту 22 соединение запрещено? Что делать в этом случае?
GamePostOFF
@GamePostOFF
Aug 08 2015 19:44
@lolname Ошибку не покажешь? 22 порт - sftp
lolname
@lolname
Aug 08 2015 19:45
@GamePostOFF ssh: connect to host 7.9.0.116 port 22: Connection refused
подключаюсь без указания порта
projct1
@projct1
Aug 08 2015 20:04
кто как сохраняет и обрабатывает файлы? посредник создаёте или как?
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:23
@rorc что ты имеешь в виду под посредником?
projct1
@projct1
Aug 08 2015 20:24
middleware
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:24
@rorc и как он тут поможет?
projct1
@projct1
Aug 08 2015 20:24
ну вот я не знаю
или в трейт вынести мб
в контроллере не правильно писать логику обработки и загрузку картинок
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:25
@rorc омг это с чего же?
projct1
@projct1
Aug 08 2015 20:25
командные шины ещё есть некие, вот туда мб http://laravel.su/docs/5.0/bus
понятно с тобой всё)
первый принцип солид знаешь?
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:27
а вот с тобой не очень. понятливый блин. фал приходит в реквесте в контролере ему сам бог велел сохраниться на нужный диск. в формреквесте отвалидироваться. если сложная логика пост обработки, то вынеси в джоб. а ты херню морозишь
projct1
@projct1
Aug 08 2015 20:28
        if ($request->hasFile('image')) {
            $image = new ImageManager(env('APP_DEBUG') ? [] : ['driver' => 'imagick']);
            foreach ($request->file('image') as $file) {
                $name = uniqid();
                $img = $image->make($file);
                $img->widen(800, function ($constraint) {
                    $constraint->upsize();
                })->save($name . '.jpg');
                $img->heighten(330)->save($name . '_s.jpg');
            }
        }
это надо в контроллере делать по твоему?
а если ещё больше будет сложная обработка
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:28
вынеси в джобу говорю же
projct1
@projct1
Aug 08 2015 20:28
ещё и в нескольких экшенах понадобиться?
сек
типа в очередь поставить?
Denis Isaychenko
@Rhincodon
Aug 08 2015 20:30
@rorc ты вот скажи какого рода приложение ты пишешь? банковскую систему? приложение с долгосрочной поддержкой и сложной логикой? ничего страшного если что-то будет в контроллере, если это устраивает тебя в данный момент. Не нужно усложнять там где не нужно это делать. :)
projct1
@projct1
Aug 08 2015 20:30
@Rhincodon надо привыкать сразу делать правильно
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:30
если в одном контролле то вполне можно просто в метод вынести
projct1
@projct1
Aug 08 2015 20:31
@Rhincodon тем более когда осваиваешь фреймворк
@Rhincodon иначе всё можно городить в контроллерах
Denis Isaychenko
@Rhincodon
Aug 08 2015 20:31
@rorc надо привыкать сразу делать без излишней сложности там где она не нужна
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:31
ты по своему прав, только предварительная оптимизация и лишняя гибкость зло
projct1
@projct1
Aug 08 2015 20:32
@Ellrion что за джоба? очередь?
Denis Isaychenko
@Rhincodon
Aug 08 2015 20:33
@rorc передай в свой ImageManager все файлы из request и там делай обработку
Redcore7
@Redcore7
Aug 08 2015 20:33
Здравствуйте, начал осваивать laravel , подскажите, почему у меня Config::get отдает старое значение, как кеш можно почистить?
projct1
@projct1
Aug 08 2015 20:34
@Rhincodon ImageManager это пакет, нельзя в него передавать ничего кроме пути до файла
Denis Isaychenko
@Rhincodon
Aug 08 2015 20:35
@rorc создай тогда свой ImageManager класс и передай в него файлы, а внутри этого класса уже используй пакет этот
projct1
@projct1
Aug 08 2015 20:36
@Rhincodon ну вот думаю через http://laravel.su/docs/5.0/bus это сделать
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:39
@rorc ты только доки устаревшие читаешь http://laravel.com/docs/5.1/queues#dispatching-jobs-from-requests
projct1
@projct1
Aug 08 2015 20:42
@Ellrion я дерево в английском, можешь в двух словах написать что это?
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:43
ну в 5.1 убрали команды, потому что было имя перегружено, команды для артисана и команды шины. теперь они Job
projct1
@projct1
Aug 08 2015 20:45
@Ellrion Command Bus теперь Job?
в остальном принцип такой же остался?
@Ellrion всё что тут написано актуально? http://laravel.su/docs/5.0/bus
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:46
не все
symbios_zi
@symbiosss
Aug 08 2015 20:49
кто пользуется elixir?
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:49

вот изменения

The app/Commands directory has been renamed to app/Jobs. However, you are not required to move all of your commands to the new location, and you may continue using the make:command and handler:command Artisan commands to generate your classes.
Likewise, the app/Handlers directory has been renamed to app/Listeners and now only contains event listeners. However, you are not required to move or rename your existing command and event handlers, and you may continue to use the handler:event command to generate event handlers.
By providing backwards compatibility for the Laravel 5.0 folder structure, you may upgrade your applications to Laravel 5.1 and slowly upgrade your events and commands to their new locations when it is convenient for you or your team.

там особо английский не нужен что бы понять
symbios_zi
@symbiosss
Aug 08 2015 20:50

положил в папку assets/css/ файл styles.css и в gulp.js прописал

elixir(function(mix) {
    mix.less('app.less');
    mix.less('admin-lte/AdminLTE.less');
    mix.less('bootstrap/bootstrap.less');
    mix.styles(["styles.css"], 'public/css/styles.css');
});

в итоге less файлы подключились и выгрузились а styles.css содержит пустой файл и текст в нем
/# sourceMappingURL=styles.css.map /

projct1
@projct1
Aug 08 2015 20:50
@Ellrion ок, спасиб)
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:53
@symbiosss не нашел файлы значит, они у тебя точно в resources/assets/less?
symbios_zi
@symbiosss
Aug 08 2015 20:54
@Ellrion протоблема с styles.css
Vlad Shcherbin
@VladShcherbin
Aug 08 2015 20:54
@symbiosss юзай обычный gulp, он безумно простой и удобный
projct1
@projct1
Aug 08 2015 20:55
@Ellrion по идеи тока папки перенесли чтоль?
@Ellrion переименовали
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:56
@symbiosss styles.css - у тебя где?
This message was deleted
symbios_zi
@symbiosss
Aug 08 2015 20:56
@Ellrion в /assets/css/styles.css
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 20:59
@symbiosss в resources/assets/css? просто так то по идее все норм написано
symbios_zi
@symbiosss
Aug 08 2015 21:00
/# sourceMappingURL=styles.css.map / есть такой файл в /public/css/styles.css.map
че он делает не пойму
Maksim (Ellrion) Platonov
@Ellrion
Aug 08 2015 21:04
это соурс мэп. для разработки в дев тулз показывает откуда собрался класс например
что бы проще потом было находить и править. если не нужны то elixir.config.sourcemaps = false;
symbios_zi
@symbiosss
Aug 08 2015 21:07
elixir(function(mix) {
    mix.less('app.less');
    mix.less('admin-lte/AdminLTE.less');
    mix.less('bootstrap/bootstrap.less');
});

elixir(function(mix) {
    mix.styles(["styles.css"], 'public/css/styles.css', './');
});
так заработало
фигня какая то
berpcor
@berpcor
Aug 08 2015 21:32
Таблица в БД называется iadefaults. Имя модели для нее IADefault. При попытке вставить данные в указанную таблицу, запрос происходит к таблице i_a_defaults. Приходится добавлять protected $table = 'iadefaults'. С чем это связано?
Роман Сохарев
@greabock
Aug 08 2015 21:55
IADefault => i_a_defaults
КэмелКейс приводится к снэйк_кейсу
asvae
@asvae
Aug 08 2015 22:46
This message was deleted
Soprun Vladislav
@vlsoprun
Aug 08 2015 23:11
Здорова парни, помогите пожалуйста.
Беда, не могу подключится к s3 ((
Error executing "HeadObject" on "https://s3.eu-central-1.amazonaws.com/....."; AWS HTTP error: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
Скачал новый сертификат, все равно не работает.