Size: a a a

Laravel для начинающих

2020 June 04

RK

Roman Kolosov in Laravel для начинающих
$users = Result::query()
   ->select(\DB::raw('max(point) as max_point, user'))
   ->orderBy('
max_point', 'desc')
   ->groupBy('user')
   ->limit(10)
   ->get();


$results = Result::
query()
   ->joinSub($users, 'users', function ($join) {
       $join->on('users.user', '=', 'results.user')
;
       $join->on('users.max_point', '=', 'results.point');
   })->get();
источник

w

walfter in Laravel для начинающих
А зачем использовать сырые запросы? Result::select(['point', 'user'])->max('point')->orderBy('point', 'desc')->groupBy('user')
источник

RK

Roman Kolosov in Laravel для начинающих
walfter
А зачем использовать сырые запросы? Result::select(['point', 'user'])->max('point')->orderBy('point', 'desc')->groupBy('user')
функция max не так работает
источник

RK

Roman Kolosov in Laravel для начинающих
она тупо выбирает максимальное значение из колонки
источник

SS

Serg Serdyuk in Laravel для начинающих
Stas
ошибка сразу
связанная с ONLY_FULL_GROUP_BY?
источник

RK

Roman Kolosov in Laravel для начинающих
хз только сработает ли правильно два on подряд, но должно
источник

RK

Roman Kolosov in Laravel для начинающих
там должно быть ON expression1 and expression2
источник

RK

Roman Kolosov in Laravel для начинающих
а стоп
источник

S

Stas in Laravel для начинающих
Roman Kolosov
$users = Result::query()
   ->select(\DB::raw('max(point) as max_point, user'))
   ->orderBy('
max_point', 'desc')
   ->groupBy('user')
   ->limit(10)
   ->get();


$results = Result::
query()
   ->joinSub($users, 'users', function ($join) {
       $join->on('users.user', '=', 'results.user')
;
       $join->on('users.max_point', '=', 'results.point');
   })->get();
nvalidArgumentException: A subquery must be a query builder instance, a Closure, or a string
источник

RK

Roman Kolosov in Laravel для начинающих
поправил
источник

RK

Roman Kolosov in Laravel для начинающих
ща
источник

RK

Roman Kolosov in Laravel для начинающих
понял
источник

RK

Roman Kolosov in Laravel для начинающих
даже лучше
источник

RK

Roman Kolosov in Laravel для начинающих
$users = Result::query()
   ->select(\DB::raw('max(point) as max_point, user'))
   ->orderBy('
max_point', 'desc')
   ->groupBy('user')
   ->limit(10)
;


$results = Result::
query()
   ->joinSub($users, 'users', function ($join) {
       $join->on('users.user', '=', 'results.user')
;
       $join->on('users.max_point', '=', 'results.point');
   })->get();
источник

RK

Roman Kolosov in Laravel для начинающих
вот
источник

RK

Roman Kolosov in Laravel для начинающих
$users это не коллекция а квери билдер должна быть
источник

S

Stas in Laravel для начинающих
ErrorException: Object of class Illuminate\Database\Eloquent\Builder could not be converted to string всеравно ошибка
источник

RK

Roman Kolosov in Laravel для начинающих
это где
источник

RK

Roman Kolosov in Laravel для начинающих
ну как варик убери query()
источник

RK

Roman Kolosov in Laravel для начинающих
если не сработает то
источник