Павел
можно в lumen, получить stream, из storage?
dmi
Anonymous
Maksim (Ellrion)
что за макрос? типа отдельный класс который с запросом тупо работает?
а да про отдельный класс (квери обжект) я и забыл. но нет макрос это просто возможность запихать в билдер метод "налету"
https://github.com/laravel/framework/blob/5.6/src/Illuminate/Database/Query/Builder.php#L23
https://github.com/laravel/framework/blob/5.6/src/Illuminate/Support/Traits/Macroable.php
Maksim (Ellrion)
точно)
dmi
dmi
public function posts()
{
return $this->hasMany('App\Models\Post', 'cat_id')->take(4);
}
Anonymous
dmi
лааадно
dmi
тогда открываю последний
dmi
ну точно рабочий вариант
dmi
$users = \App\User::all();
$users->each(function($user) {
$user->load('onlyFiveBooks');
});
Игорь
dmi
нет )
Игорь
Че это, нет
dmi
ну проверь
Игорь
Я знаю что должно работать
Игорь
Это самые азы лары
Игорь
Если у тебя не работает, значит ты накосячил с релейшинами
Игорь
Аааа, я понял про что вы
Айбек
сперва напишите на голом sql такую выборку)
SarcasmIO
Айбек
как зачем? они пытаются в два запроса сформировать 10 постов с 3 комментами каждый
Anonymous
SarcasmIO
dmi
SarcasmIO
dmi
public function onlyFive()
{
return $this->hasMany('App\Models\Post', 'cat_id')->take(5);
}
Айбек
ну вот если лара не умеет этого, значит надо самому лул
Игорь
dmi
Anonymous
SarcasmIO
офк читал
SarcasmIO
просто люблю проигрывать с челов
Айбек
мне кажется тебе надо бан дать, тролю
SarcasmIO
может и надо, хз
SarcasmIO
от этого твои советы лучше не станут, это точно
Айбек
то что я сказал что лимит не работает на релейшн - это не лучше?
а то тут пытаются "чтобы заработал"
Anonymous
Anonymous
Айбек
знал бы, сказал бы)
Айбек
я предлагаю ручками sql написать, попробовать, чтобы в цикле не работать
но как выше сказали, тяжко такой sql написать
для меня лично тяжко)
Айбек
можно написать так
hasOne() три раза
и в итоге 4 запроса))
Maksim (Ellrion)
еще раз эта задача не столько по ларе сколько по sql
Maksim (Ellrion)
и в sql в постгресе например она решается через оконную функцию
Maksim (Ellrion)
в мускуле там вообще беда
Айбек
ну например
hasOne()->orderByDesc('id')
hasOne()->orderByDesc('id')->offset(1)
hasOne()->orderByDesc('id')->offset(2)
так не будет?)
Игорь
Попробуйте через курсор, может?
Anonymous
Себастьян
Подскажите по Mix, делаю:
require('bootstrap/js/dist/tooltip');
require('bootstrap/js/dist/popover');
а в консоли получаю "Uncaught ReferenceError: Tooltip is not defined"
Maksim (Ellrion)
Aliaksandr
подскажите как в blade сделать такие дивы с кодом?
Anonymous
https://softonsofa.com/tweaking-eloquent-relations-how-to-get-n-related-models-per-parent/
Anonymous
Короче вот этот кровавый запрос )
Айбек
Айбек
какой нить эдитор с подсветкой синтаксиса
Maksim (Ellrion)
Короче вот этот кровавый запрос )
а вот на постгресе
SELECT *
FROM (
SELECT
*, row_number() OVER (PARTITION BY post_id ORDER BY created_at DESC ) as __num
FROM comments
WHERE post_id IN (....)) as t
where __num <= 3
ORDER BY created_at DESC
Anonymous
Maksim (Ellrion)
работает кстати очень быстро
Maksim (Ellrion)
ща покажу цифры. достаточно впечетляющие)
Айбек
где цифры, Максим?)
Айбек
3 минуты походу выполняется этот запрос))
Айбек
впечатляет однако))
Maksim (Ellrion)
Anonymous
Anonymous
Maksim (Ellrion)
таблица оружия - 72 312 075 записей (count за 1min20s)
таблицы юзеров - 8 395 346 записей (count за 2min)
интересующий нас запрос 123милисекунды)
Maksim (Ellrion)
неболее чем по 3 оружия на 10 юзеров зарание выбранных
Айбек
чем ты там занимаешься?)
Maksim (Ellrion)
геймдев)
Anonymous