These are chat archives for LaravelRUS/chat

14th
Nov 2015
Tony White
@tonyxx7
Nov 14 2015 00:36
Hey
Roman
@fearrr
Nov 14 2015 02:20
@Butochnikov, да что-то я туплю, спасибо.
KarmaBot
@KarmaBot
Nov 14 2015 02:20
Спасибо (+1) для @Butochnikov принято! Текущая карма +72.
Vitaly
@Modifikator
Nov 14 2015 03:19
test
Serhii Chaplia
@iwex
Nov 14 2015 08:50
@nnnikolay злой школьник?
Artemiy Ryabinkov
@Furdarius
Nov 14 2015 10:08
Народ, а все Штормом пользуются при разработке?
Serhii Chaplia
@iwex
Nov 14 2015 10:12
@Furdarius я думаю, большинство
Artemiy Ryabinkov
@Furdarius
Nov 14 2015 10:15
Просто интересно, он у всех проц грузит периодически на 100%?
У меня, конечно, не очень сильный (Intel Core i3), но при индексации он загружает полностью, так что у меня даже музыка начинает лагать в наушниках :D
Serhii Chaplia
@iwex
Nov 14 2015 10:20
@Furdarius у меня слабее твоего и всё ок
@iwex возможно у тебя постоянно что-то меняется и он постоянно индексирует?
Artemiy Ryabinkov
@Furdarius
Nov 14 2015 10:25
@iwex Gulp watch собирает, шторм индексирует
Щас exclude на vendor сделал, и на dist попробую...
Че-то сразу об этом не подумал
Serhii Chaplia
@iwex
Nov 14 2015 10:28
@Furdarius ну вот)
Artemiy Ryabinkov
@Furdarius
Nov 14 2015 10:29
@iwex Я просто сначала на gulp watch и browseryfy думал)
Ну ладно, хорошо что подсказали)
@iwex Спасибо)
KarmaBot
@KarmaBot
Nov 14 2015 10:29
Спасибо (+1) для @iwex принято! Текущая карма +8.
Serhii Chaplia
@iwex
Nov 14 2015 10:31
@Furdarius да нет за что)
Alexander
@evsign
Nov 14 2015 11:03
Всем привет)
Народ, подскажите кто-нибудь плз почему у меня ::find делает просто select * from table;
KarmaBot
@KarmaBot
Nov 14 2015 11:03
@evsign, привет, как настроение?
Alexander
@evsign
Nov 14 2015 11:04
@KarmaBot здаров бот) Спасибо, что спросил. Всё ок)
Serhii Chaplia
@iwex
Nov 14 2015 11:11
@evsign покажи хоть как используешь?
и откуда ты взял как оно ищет?
Alexander
@evsign
Nov 14 2015 11:11
Groups::find(5)->get()
Сделал Groups::find(5)->toSql()
Да и так, такой вызов всегда мне возвращал полную коллекцию элементов из таблицы
прост я не сразу это заметил чёт((
Имею вввиду, когда начал разбираться, то всегда возвращалась полная коллекция, а потом решил глянуть sql какой делается
@iwex
Alexander
@evsign
Nov 14 2015 11:17

Ща посмотрел queryLog.
Когда пишу ->get(), то делается 2 запроса почему-то

select * from `tb_groups` where `tb_groups`.`group_id` = ? limit 1

и

select * from `tb_groups
А если без get всё ок
Serhii Chaplia
@iwex
Nov 14 2015 11:18
@evsign там всё ок должно быть
Alexander
@evsign
Nov 14 2015 11:18
Бля, get не надо было писать)
Serhii Chaplia
@iwex
Nov 14 2015 11:19
да
файнд без гет работает)
а когда делаешь get - оно обращается к пустому builder'у
Alexander
@evsign
Nov 14 2015 11:20
@iwex ага) Спасибо)
KarmaBot
@KarmaBot
Nov 14 2015 11:20
@evsign, в этом чате принято добавлять имя пользователя, что бы его поблагодарить.
Serhii Chaplia
@iwex
Nov 14 2015 11:21
карма
KarmaBot
@KarmaBot
Nov 14 2015 11:21
@iwex, Ваша карма +8. Вы благодарили 7 раз.
- Профиль iwex на laravel.su
Alexander
@evsign
Nov 14 2015 11:22
карма
KarmaBot
@KarmaBot
Nov 14 2015 11:22
@evsign, Ваша карма +3. Вы благодарили 6 раз.
- Профиль evsign на laravel.su
ooPASHAoo
@ooPASHAoo
Nov 14 2015 11:45
Каким драйвером кэширования вы обычно пользуетесь? (у меня информационный портал, который один блок запрашивает по апишке)
Alexander
@evsign
Nov 14 2015 11:52
ну смотря какая посещалка. Если трафа нету, то в базу или файл вполне хватит. А вообще почему бы не redis)
ooPASHAoo
@ooPASHAoo
Nov 14 2015 11:53
@evsign Не очень большой трафик планируется, и так как я новичок, то хотелось бы стандартно "file", нормально будет его использовать? =)
Alexander
@evsign
Nov 14 2015 11:54
@ooPASHAoo мне кажется лучше ложи в базу и не парься)
ooPASHAoo
@ooPASHAoo
Nov 14 2015 11:56
@evsign Но с базой же сложнее. И как я понимаю ответы на запросы к бд смысла кэшировать нет ? Ну то есть если я допустим запрашиваю 5 популярных новостей из бд, то смысла их кэшировать в файл нет?
@evsign Я хотел немного покэшировать во ViewComposer-ах
Alexander
@evsign
Nov 14 2015 11:59
@ooPASHAoo чем там сложнее?) интерфейс то один. Cache::put Cache::get.
Ну когда ты запрашиваешь 5 популярных новостей, ты их сначала ищешь, а если берёшь из кеша, то сразу берёшь значение по ключу.
ooPASHAoo
@ooPASHAoo
Nov 14 2015 12:01
@evsign То есть самые частые запросы к бд нужно кэшировать?
Alexander
@evsign
Nov 14 2015 12:03
@ooPASHAoo ну тут сложно сказать, всё зависит от бизнеслогики. Тут ещё нужно учитывать насколько быстро данные теряют свою актуальность
ooPASHAoo
@ooPASHAoo
Nov 14 2015 12:05
@evsign Хорошо, я понял, спасибо. У меня есть блоки типа "популярные новости", которые есть на всех страницах и кэширование их на 5-10 минут очень поможет, я думаю.
@evsign спасибо =)
KarmaBot
@KarmaBot
Nov 14 2015 12:05
Спасибо (+1) для @evsign принято! Текущая карма +4.
Alexander
@evsign
Nov 14 2015 12:06
@ooPASHAoo нез :)
Roman
@fearrr
Nov 14 2015 13:06
Подскажите как правильно вывести мегаменю, данные в которое получаются из нескольких связанных таблиц, где описывать эту связь?
Создал композер, подключил его в сервис провайдер, получаю нужные поля из модели и передаю во все шаблоны с меню. Но как все это отфильтровать в виде не могу догнать. Нужно для каждой категории вывести заголовок, а после вывести заголовки статей.
Anton Vorontsov
@symbios-zi
Nov 14 2015 13:33
кто нибудь использовал https://github.com/yajra/laravel-datatables DataTables для laravel?
@fearrr возможно подготовить все в виде массива перед выводом? Ты можешь воспользоваться методами коллекций
EchoDeveloper
@EchoDeveloper
Nov 14 2015 14:05
Вечер добрый. Новичку нужен совет. Помогите пожалуйста. Делаю крупный проект. После авторизации контент выдается в зависимости от типа юзера (их 3). Как было бы разумнее сделать это? Один огромный контроллер с присваиванием, передачей переменных во вьюшку через условия мне кажется неразумным. Пока сделал в индексном методе условия с редиректами на экшны контроллеров каждого типа юзеров, но это мне тоже кажется неразумным в плане невалидности страницы из-за редиректов с главной страницы
nnnikolay
@nnnikolay
Nov 14 2015 14:13
@iwex Вот у русских (даже если они себя украинцами называют) всегда так, ЧСВ зашкаливает. Вас таких в жизни встречаешь так вы двух слов вместе связать не можете, как же в чате так тиакое трепло что противно.
@iwex Никогда на англ. канале никто не позволит себе (только если он не русский) вые...ться. Тут же, что один, что второй.. ай ну и сидите в своем болоте и обсирайте друг друга, со своим больным ЧСВ
Alexander
@evsign
Nov 14 2015 14:24
бомбануло))
Alexander
@evsign
Nov 14 2015 14:29
@EchoDeveloper немного не понятно что надо сделать. В зависимости от типа пользователя попасть на определённую страницу?
Roman
@fearrr
Nov 14 2015 14:29
@nnnikolay да уж, есть такое зло в человеческой натуре. Но зря Вы так говорите русским или украинцам, какая разница, еще Карнеги писал про этот самый ЧСВ, а он вроде как американец вообще. Так что этнической составляющей здесь нет.. имхо
Alexander
@evsign
Nov 14 2015 14:30
согласен) ЧСВ всем присуще, вне зависимости от национальности/расы. Всё сугубо индивидуально)
EchoDeveloper
@EchoDeveloper
Nov 14 2015 14:44
@evsign да
Alexander
@evsign
Nov 14 2015 14:45
@EchoDeveloper можно в RedirectIfAuthenticated миддлваре прописать
EchoDeveloper
@EchoDeveloper
Nov 14 2015 14:48
@evsign это опять же будет редирект, что влечет за собой невалидность главной страницы. Всё работает с редиректами, но это не круто)
Alexander
@evsign
Nov 14 2015 14:50
@EchoDeveloper так тебе надо без редиректов?) отображать в зависимости от типа пользователя разный контроллер по одному и тому же роуту?
Что значит невалидность главной?)
и ты пишешь сначала, что редиректы как-то сделают главную невалидной, а потом пишешь что всё работает)
EchoDeveloper
@EchoDeveloper
Nov 14 2015 14:53
@evsign невалидность страницы - не значит её неработоспособность. Загугли "валидность страниц"
Alexander
@evsign
Nov 14 2015 15:01
@EchoDeveloper я тебя не понимаю
каким образом редирект портит какую-то валидность? Давай лучше ты расскажи, что имеешь ввиду под валидностью)
EchoDeveloper
@EchoDeveloper
Nov 14 2015 15:17
@evsign Загуглить сложно? Я же попросил.
@evsign заказчики зачастую бывают настолько привередливы, что не хотят видеть ошибки валидности страницы. Сайт, который я тебе скинул, проверяет валидность разметки страницы.
censoredgit
@censoredgit
Nov 14 2015 15:22
@EchoDeveloper После авторизации. твой https://validator.w3.org/ и роботы не пройдут, так что не парься.
EchoDeveloper
@EchoDeveloper
Nov 14 2015 15:29
@censoredgit хорошо, спасибо. Только мне кажется это не очень оптимизировано, потому что каждый раз при переходе на главную, срабатывает редирект, если юзер авторизован.
Alexander
@evsign
Nov 14 2015 15:42
@EchoDeveloper сложно было сказать, что ты про html валидность????
а то хрен его знает что ты под этим вообще имеешь ввиду
И причём тут редирект? Если ты отдаёшь невалидный хтмл
Alexander
@evsign
Nov 14 2015 15:50

@censoredgit хорошо, спасибо. Только мне кажется это не очень оптимизировано, потому что каждый раз при переходе на главную, срабатывает редирект, если юзер авторизован.

Если тебе надо что бы по одному и тому же роуту вызывались разные экшены, о чём я тебе уже говорил, то тут есть несколько вариантов.

EchoDeveloper
@EchoDeveloper
Nov 14 2015 15:54
@evsign я понял. условия в контроллере с выводом разных видов с разными переменными. И редиректы.
Alexander
@evsign
Nov 14 2015 15:59
@EchoDeveloper Ну если по какому-то роуту это уже отдаётся, то можно сделать
$controller = app()->make('NameOfController');
return $controller->callAction('getIndex', $parameters = []);
kozlikov
@kozlikov
Nov 14 2015 16:14
Всем привет!
При создании объекта модели, как можно установить значение поля по умолчанию (p.s. конструктор в счет не берем, т.е. исключаем данный способ).
На подобие этого:
function __construct()
    {
        $this->field1 = new \DateTime();
    }
D3-FC
@D3-FC
Nov 14 2015 16:20
Ребята, привет. Подскажите пожалуйста двумя словами. Зачем нужны в ларе очереди. (понимаю что может показаться вопрос глупым, но всёже)
@kozlikov Кажется также как и при создании любого объекта.
function __construct( $this->field1=что-нибудь)
{
$this->field1 = new \DateTime();
}
Nuzsk
@Nuzsk
Nov 14 2015 16:22
в select2 захардкодили названия поля с id и текстом
грусть то какая
kozlikov
@kozlikov
Nov 14 2015 16:23
@D3-FC Конструктор в счет не берем
D3-FC
@D3-FC
Nov 14 2015 16:24
понятно, виноват. не обратил внимание
kozlikov
@kozlikov
Nov 14 2015 16:26
@D3-FC Очередь нужны для последовательности работы программы. Например идут запросы на выгрузку отчетов - для того, что бы не грузить сервер мы ставим их в очередь на формирования.
D3-FC
@D3-FC
Nov 14 2015 16:30
@kozlikov а следует ли вешать очереди на запись в базу?
например один человек записывает
kozlikov
@kozlikov
Nov 14 2015 16:31
Не обязательно, очередь может хранится в файле, в БД, в memcache
@D3-FC ЛУчше почитайте вот тут: http://ruhighload.com/scale
Раздел "Асинхронность"
Вообще что такое очереди
This message was deleted
This message was deleted
D3-FC
@D3-FC
Nov 14 2015 16:33
@kozlikov Например мы строем в квери билдере сложный запрос. Здешняя ОРМ будет всё делать обычными селектами, Интересно Если будет 2 клиента одновременно делать такие сложные запросы на запись, не склеятся ли эти запросы от разных клиентов?
kozlikov
@kozlikov
Nov 14 2015 16:34
@D3-FC Ознакомьтесь на ресурсе, который я Вам скинул - там все отлично расписано.
D3-FC
@D3-FC
Nov 14 2015 16:34
да большое спасибо.
@kozlikov полезная информация
ознакомлюсь
kozlikov
@kozlikov
Nov 14 2015 16:35
@D3-FC Там много чего полезного и стоящего!
@D3-FC На многие вопросы, Вы там найдете ответы.
kozlikov
@kozlikov
Nov 14 2015 16:40
@jhaoda Спасибо. Accessors & Mutators не подойдет. А Вот эвенты самое то.
unnamed75
@unnamed75
Nov 14 2015 17:24
ребят привет
че эт за зверь vuejs?
JhaoDa
@jhaoda
Nov 14 2015 17:25
@unnamed75 в гугле забанили?
Roman
@fearrr
Nov 14 2015 17:26
подскажите как привильно использовать метод filter в collections
JhaoDa
@jhaoda
Nov 14 2015 17:26
@fearrr эм... странный вопрос. А что, есть много вариантов?
Roman
@fearrr
Nov 14 2015 17:31
@jhaoda мне нужно сравнивать со строкой..
в оф. доке делают так
$collection = collect([1, 2, 3, 4]);

$filtered = $collection->filter(function ($item) {
    return $item > 2;
});

$filtered->all();

// [3, 4]
еще я нашел вариант вот такой
$new = $collection->filter(function($album)
    {
        if ($album->artist == 'Something Corporate') {
            return true;
        }
    });

    var_dump($new);
JhaoDa
@jhaoda
Nov 14 2015 17:32
@fearrr и?
Интересно, чем же эти два варианта отличаются?:)
Roman
@fearrr
Nov 14 2015 17:33
Пардон
Ну так то ничем, у меня ни один не работает))
JhaoDa
@jhaoda
Nov 14 2015 17:33
@fearrr ну так не в методе filter дело, надо думать, потому что у меня работает
Roman
@fearrr
Nov 14 2015 17:37

Вот что я пишу)

$sitename = $settings->filter(function($name){
      return $name->title == 'Заголовок сайта';
  });

var_dump($sitename->title);

Дает ошибку ErrorException in index.blade.php

JhaoDa
@jhaoda
Nov 14 2015 17:38
@fearrr как ты думаешь, что должно быть в $sitename?
Roman
@fearrr
Nov 14 2015 17:39
Коллекция?
JhaoDa
@jhaoda
Nov 14 2015 17:39
@fearrr верно. А значит строка $sitename->title не имеет смысла
Roman
@fearrr
Nov 14 2015 17:40
Я что-то вообще торможу
А как тайтл получить
JhaoDa
@jhaoda
Nov 14 2015 17:41
@fearrr ну, наверное, взять элемент из коллекции и уже у него запрашивать title
Roman
@fearrr
Nov 14 2015 17:43
Тоесть по сути если я изначально знаю что мне отфильтрованным придет только один массив, можно вытащить ->first()->title?
JhaoDa
@jhaoda
Nov 14 2015 17:43
@fearrr ага
Roman
@fearrr
Nov 14 2015 17:44
@jhaoda, спасибо..)
@jhaoda спасибо
JhaoDa
@jhaoda
Nov 14 2015 17:45
@fearrr да опять поломался бот, однако
Roman
@fearrr
Nov 14 2015 17:45
эх, а я думал может не распарсилось)
Shadowwy
@Shadowwy
Nov 14 2015 17:56

кто нибуд
var code = <?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateArticlesTable extends Migration
{
/**

 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::create('articles', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id')->unsigned();
        $table->text('title');
        $table->text('body');
        $table->timestamps();


        $table->foreign('user_id')
            ->references('id')
            ->on('users')
            ->onDelete('cascade');
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::drop('articles');
}

}

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (laravel.articles, CONSTRAINT articles_user_id_foreign FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE) (SQL: insert into articles (title, body, updated_at, created_at) values (fgvhbj, fghbm,, 2015-11-14 17:53:53, 2015-11-14 17:53:53))
Alexander
@evsign
Nov 14 2015 18:01
@Shadowwy а ключ чего не вставляешь?)
Shadowwy
@Shadowwy
Nov 14 2015 18:03
@evsign не понял какой клюя?
Alexander
@evsign
Nov 14 2015 18:04
@Shadowwy такая ошибка бывает обычно, если пытаться вставить значение в ключ на несуществующую сущность. В данном случае в insert'e у тебя ключа нету.
У тебя таблица article имеет foreign key user_id на юзера
Shadowwy
@Shadowwy
Nov 14 2015 18:06
как это исправить у 2 часа не могу исправить
@evsign ?
Alexander
@evsign
Nov 14 2015 18:07

@Shadowwy
Вот такой запрос у тебя отправляется, при попытке добавить article:

insert into articles (title, body, updated_at, created_at) values (fgvhbj, fghbm,, 2015-11-14 17:53:53, 2015-11-14 17:53:53)

А должен быть такой, к примеру

insert into articles (title, body, user_id, updated_at, created_at) values (fgvhbj, fghbm, 1, 2015-11-14 17:53:53, 2015-11-14 17:53:53)
Shadowwy
@Shadowwy
Nov 14 2015 18:10
@evsign это я понял но как исправить в ларавел
Alexander
@evsign
Nov 14 2015 18:12
@Shadowwy ну смотря какая у тебя связь.
Можно так
$user->articles()->save($article)
покажи как у тебя происходит сохранение и какая связь
Shadowwy
@Shadowwy
Nov 14 2015 18:14
This message was deleted
Alexander
@evsign
Nov 14 2015 18:15
@Shadowwy или вручную подставлять user_id ещё
Shadowwy
@Shadowwy
Nov 14 2015 18:15
This message was deleted
Alexander
@evsign
Nov 14 2015 18:15
да
Shadowwy
@Shadowwy
Nov 14 2015 18:15
This message was deleted
подожди одну минутку
This message was deleted
This message was deleted
но не помог
Alexander
@evsign
Nov 14 2015 18:20
Для начала тебе надо получить ид пользователя
Shadowwy
@Shadowwy
Nov 14 2015 18:21
This message was deleted
JhaoDa
@jhaoda
Nov 14 2015 18:30
@Shadowwy а можно просто не использовать внешние ключи
Roman
@fearrr
Nov 14 2015 18:34
Где регистрируются Seederы? Не вызываются, а регистрируются.. для комманд.
JhaoDa
@jhaoda
Nov 14 2015 18:35
@fearrr может, все же, доку почитаешь? http://laravel.com/docs/5.1/seeding#calling-additional-seeders
И для каких таких «комманд»?
Roman
@fearrr
Nov 14 2015 18:36
@jhaoda я читал доку) я не про это..
JhaoDa
@jhaoda
Nov 14 2015 18:37
@fearrr а про что? что значит «регистрация» сида? Первый раз слышу, что его надо регистрировать
Roman
@fearrr
Nov 14 2015 18:39

@jhaoda, я просто наверное не правильно выражаюсь)) создал Seeder коммандой make:seeder,
вызвал его в DatabaseSeeder

$this->call(SettingsSeeder::class);

как-то так получилось что подставилось двойное расширение.. и выдает ошибку

  [ErrorException]
  include(D:\_srv\OpenServer_NEW\domains\laravel/database/seeds/SettingsSeeder.php.php): failed to open stream: N
  o such file or directory
JhaoDa
@jhaoda
Nov 14 2015 18:39
@fearrr и что? Тебе сложно файл переименовать?
Roman
@fearrr
Nov 14 2015 18:40
он переименован в SettingsSeeder.php
JhaoDa
@jhaoda
Nov 14 2015 18:41
@fearrr и? Все равно ошибка?
Roman
@fearrr
Nov 14 2015 18:41
[ErrorException]
ага
JhaoDa
@jhaoda
Nov 14 2015 18:41
composer dump точно сделал после переименования?
Roman
@fearrr
Nov 14 2015 18:42
ааа, вот точно..
забыл
там кешируется путь?
@jhaoda спасибо
WmA
@akis94
Nov 14 2015 18:58
Кстати composer dump в scheduler положил)
Apoloser
@Apoloser
Nov 14 2015 19:14
Всем привет
Кто подскажет что за магия, использую Queue::later но в редисе время исполнения указывается ~+25-30 минут к тому что было
Использую версию 5.1
ooPASHAoo
@ooPASHAoo
Nov 14 2015 23:03
Подскажите пожалуйста Model::count() это ведь O(1), То есть легкая операция для бд?
Roman
@fearrr
Nov 14 2015 23:54
This message was deleted