These are chat archives for LaravelRUS/chat

1st
Apr 2017
pavelkabanov
@pavelkabanov
Apr 01 2017 01:40

Привет.
Есть модель Item и таблица для лайков:

Schema::create('likeables', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned()->index();
            $table->integer('likeable_id');
            $table->string('likeable_type');
            $table->timestamps();

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

В модели Item такой relation:

public function likes()
    {
        return $this->morphToMany(User::class, 'likeable');
    }

Надо вывести items, у которых столько то лайков, но дело в том, что такой запрос не работает:

$items = Item::withCount('likes')->where('likes_count', '>', 2)->orderBy('likes_count', 'desc')->paginate(10);

есть идеи?

KarmaBot
@KarmaBot
Apr 01 2017 01:40
@pavelkabanov, ну рассказывай. Как жизнь? :)
pavelkabanov
@pavelkabanov
Apr 01 2017 02:08
@pavelkabanov надо has применить $items = Item::withCount('likes')->has('likes', '>', 2)->orderBy('likes_count', 'desc')ж
Sergey Batmanov
@sergeybatmanov
Apr 01 2017 08:57
Ребята, че то я туплю. Есть сайт с новостями, как организовать рассылку новостей на эл. почты, если дату публикации они могут ставить на будущее число? с помощью события можно допустим сделать отправку на создание записи, но тогда они сразу будут отправляться, как сделать, чтобы отправлялись только в день публикации?
Mikail Aziev
@aziev
Apr 01 2017 09:04

@sergeybatmanov

с помощью события можно допустим сделать отправку на создание записи

не только на создание

JhaoDa
@jhaoda
Apr 01 2017 09:08
@sergeybatmanov cron
Sergey Batmanov
@sergeybatmanov
Apr 01 2017 09:13
@jhaoda спасибо
KarmaBot
@KarmaBot
Apr 01 2017 09:13
Спасибо (+1) для @jhaoda принято! Текущая карма +1481.
Uladzislau Danilchyk
@danilchican
Apr 01 2017 09:23
Всем привет.
KarmaBot
@KarmaBot
Apr 01 2017 09:23
О! @danilchican! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Uladzislau Danilchyk
@danilchican
Apr 01 2017 09:52

Ребята, помогите решить проблему. Пытаюсь создать job для очереди. в handle() почему-то не дает вызвать у модели метод. пишет, мол:

exception 'BadMethodCallException' with message 'Call to undefined method Illuminate\Database\Query\Builder::getFullName()' in ...\vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php:2445

в чем может быть проблема? Драйвер - database.

Джангар
@Dzhangar1980
Apr 01 2017 09:59
а как выглядит твой handle()?
Uladzislau Danilchyk
@danilchican
Apr 01 2017 10:00
Работаю с собственным сервисом.
$socials = $this->post->socials()->get();
$response = $service->sendPost($this->post, $socials, $this->user);
именно в сервисе не хочет срабатывать метод модели
Джангар
@Dzhangar1980
Apr 01 2017 10:02
а ты модель в сервисе прописал?
Uladzislau Danilchyk
@danilchican
Apr 01 2017 10:02
в смысле?
короче. без джоба этот метод срабатывает, а вот с джобом - нет
т.е. при непосредственном вызове этого метода из контроллера всё работает гуд. а вот как только он вызывается из JobClass, то не хочет срабатывать метод на модель
Джангар
@Dzhangar1980
Apr 01 2017 10:06
каким конктретно образом "не срабатывает метод модели"?... Детализация ошибки есть?
покапай логи
Uladzislau Danilchyk
@danilchican
Apr 01 2017 10:07
Да, сейчас разбираюсь. походу понимаю в чем дело, только еще не убедился в этом)
Seba
@Siebov
Apr 01 2017 11:08
всем привет
KarmaBot
@KarmaBot
Apr 01 2017 11:08
Привет, @Sebbba! Проходи, присаживайся. В ногах правды нет :)
Seba
@Siebov
Apr 01 2017 11:08

пишу запрос

$experience = Destination::
                with('images')
                ->findOrFail($id);

так в images есть данные

$experience = Destination::
                with(['images' =>  function($q){
                $q->select('id','img_path');
}])
                ->findOrFail($id);

а так нет. почему? (цель: хочу ограничить список выбираемых полей из связанной модели)

JhaoDa
@jhaoda
Apr 01 2017 11:08
@Sebbba потому что кавычки нет
Джангар
@Dzhangar1980
Apr 01 2017 11:09
'img_path'
JhaoDa
@jhaoda
Apr 01 2017 11:09
@Sebbba и вообще, ограничивать список выбираемых полей — плохая идея. Ты получишь в итоге не валидную модель.
Seba
@Siebov
Apr 01 2017 11:10
@jhaoda мне надо просто в джисон передать
мне данные важнее, и много мусора лишнего получается, хочу отсечь
JhaoDa
@jhaoda
Apr 01 2017 11:10
@Sebbba это сегодня. А через месяц понадобится что-то ещё и ты будешь искать, почему не пашет
@Sebbba иди читай доку про hidden-поля
Впрочем, ты никогда не делал этого сам, только после пинка, поэтому до сих пор такие вопросы...
Seba
@Siebov
Apr 01 2017 11:12
@jhaoda ой всё!)
Maksim (Ellrion) Platonov
@Ellrion
Apr 01 2017 11:16
На вопрос "почему так?" Тебе ответит просмотр генерирует оно запроса, запросов. Для ответов заюзай лучше что то вроде фрактал либы. Оно там самое то.
Seba
@Siebov
Apr 01 2017 11:18
@Ellrion смотрел через debugbar, запрос правильный .
ок, гляну.
Alexey
@a1ex7
Apr 01 2017 11:27
Народ подскажите. Использую Goutte для сбора и обработки данных. Раньше пользовался PHP-Curl там был параметр concurrency для указания числа одновременно запущенных запросов. А в Goutte не могу найти аналогичный функционал. Также интересует где можно посмотреть на timeline данных запросов (в дебагере на вкладке Network они не отображаются)?
Alexey
@a1ex7
Apr 01 2017 11:29
P.S. Вопрос был в разрезе реализации на Laravel
JhaoDa
@jhaoda
Apr 01 2017 11:29
@a1ex7 и?
Alexey
@a1ex7
Apr 01 2017 11:29
Ладно
JhaoDa
@jhaoda
Apr 01 2017 11:30
@a1ex7 не стесняйся, спрашивай тогда и про мониторы или про кресла — ты ведь будешь сидеть в кресле, смотреть в монитор и писать код под ларавел
Джангар
@Dzhangar1980
Apr 01 2017 11:31
=))
Alexey
@a1ex7
Apr 01 2017 11:32
учитывая что Guzzle и Crawler являются компонентами Laravel и вопрос был про библиотеки для Laravel которые помогли бы реализовать заданный функционал не совсем понятна ирония с креслами
PhpNet
@PhpNet
Apr 01 2017 11:33
@jhaoda всегда злой :D
JhaoDa
@jhaoda
Apr 01 2017 11:34
@a1ex7 прям компонентами?
Alexey
@a1ex7
Apr 01 2017 11:39
Компонентами Symfony, используемыми в том числе в Laravel. Если это как то влияется на ответ на заданный вопрос.
Джангар
@Dzhangar1980
Apr 01 2017 11:44
недосыпание, недоедание, недопивание.... плохо влияет на настроение. =)) по себе знаю
Sergey Batmanov
@sergeybatmanov
Apr 01 2017 16:26

Такой вопрос: пытаюсь отправить письмо с задержкой, используя Mail::later, но почему то на Mailtrap они сразу приходят.
Сейчас пробую просто так:

Route::get('/email', function() {
    Mail::to('example@com')->later(30, new \App\Mail\SendEmail());
});

А письмо все равно сразу уходит, в чем причина?
в консоле queue:listen тоже тишина.

JhaoDa
@jhaoda
Apr 01 2017 16:35
@sergeybatmanov драйвер очереди кто?
Sergey Batmanov
@sergeybatmanov
Apr 01 2017 16:43
@jhaoda database, таблицу с помощью миграции создал, php artisan queue:table, php artisan migrate
JhaoDa
@jhaoda
Apr 01 2017 16:44
@sergeybatmanov и что, даже задание в эту таблицу попадает?
Sergey Batmanov
@sergeybatmanov
Apr 01 2017 16:44
таблица пустая, пробовал Mail::later и Mail::queue
JhaoDa
@jhaoda
Apr 01 2017 16:45
@sergeybatmanov а ты драйвер очереди где указал?
Sergey Batmanov
@sergeybatmanov
Apr 01 2017 16:48
@jhaoda вот что я оказывается не сделал)) в .env не указал, сейчас попробую, спасибо)
KarmaBot
@KarmaBot
Apr 01 2017 16:48
Спасибо (+1) для @jhaoda принято! Текущая карма +1482.
Orel
@2byte
Apr 01 2017 18:25
@sergeybatmanov можно же не ставить слэш в роуте, если его нет, он определяется корневым. Так же как и в composer psr секции конечный слэш
Sergey Batmanov
@sergeybatmanov
Apr 01 2017 19:06
@2byte спасибо, учту)
KarmaBot
@KarmaBot
Apr 01 2017 19:06
Спасибо (+1) для @2byte принято! Текущая карма +76.