Size: a a a

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

2020 March 13

SG

Sergey Gerasimov in Laravel для начинающих
kaktus778
$tmp = Visitor::where('location', 'LIKE', "%campaign=333%")
->whereBetween('created_at', [$from, $to])
->with['countView']
->get();
dd($tmp);
withCount('views')
источник

SG

Sergey Gerasimov in Laravel для начинающих
Сергей Байков
тоже самое Method Illuminate\Database\Eloquent\Collection::CountView does not exist.
☝️
источник

СБ

Сергей Байков... in Laravel для начинающих
так. Возможно я что-то не так делаю
источник

СБ

Сергей Байков... in Laravel для начинающих
kaktus778
public function countViews() {
   return $this->views()->count();
}
обе функции должны быть в модели Visitor?
источник

СБ

Сергей Байков... in Laravel для начинающих
во, разобрался. Спасибо, ребята!
источник

СБ

Сергей Байков... in Laravel для начинающих
хотя показывает кол-во визиторов, а не кол-во View
источник

СБ

Сергей Байков... in Laravel для начинающих
но это щас покапаю
источник

СБ

Сергей Байков... in Laravel для начинающих
Sergey Gerasimov
withCount('views')
если убираю из запроса эту строку всё остается так же, возвращает кол-во visitor
источник

СБ

Сергей Байков... in Laravel для начинающих
$tmp = Visitor::where('location', 'LIKE', "%campaign=".$value->id_yandex."%")->whereBetween('created_at', [$from, $to])->withCount('views')->count();
$tmp = Visitor::where('location', 'LIKE', "%campaign=".$value->id_yandex."%")->whereBetween('created_at', [$from, $to])->count();

выводит одно и то же
источник

SG

Sergey Gerasimov in Laravel для начинающих
Сергей Байков
$tmp = Visitor::where('location', 'LIKE', "%campaign=".$value->id_yandex."%")->whereBetween('created_at', [$from, $to])->withCount('views')->count();
$tmp = Visitor::where('location', 'LIKE', "%campaign=".$value->id_yandex."%")->whereBetween('created_at', [$from, $to])->count();

выводит одно и то же
Не count()
источник

SG

Sergey Gerasimov in Laravel для начинающих
Что именно требуется?
источник

СБ

Сергей Байков... in Laravel для начинающих
Sergey Gerasimov
Что именно требуется?
По бизнес модели нужно получить кол-во просмотров(View) найденных посетителей(Visitor)
источник

SG

Sergey Gerasimov in Laravel для начинающих
Сергей Байков
По бизнес модели нужно получить кол-во просмотров(View) найденных посетителей(Visitor)
Попробуй через sum('views_count')
источник

SG

Sergey Gerasimov in Laravel для начинающих
Вместо count()
источник

SG

Sergey Gerasimov in Laravel для начинающих
Точно не помню алиас поля будущего
источник

СБ

Сергей Байков... in Laravel для начинающих
Sergey Gerasimov
Точно не помню алиас поля будущего
Visitor::where('location', 'LIKE', "%campaign=".$value->id_yandex."%")->whereBetween('created_at', [$from, $to])->withCount('views')->sum('views_count');
источник

СБ

Сергей Байков... in Laravel для начинающих
вот так?
источник

SG

Sergey Gerasimov in Laravel для начинающих
Можно попробовать получить first() и посмотреть название, ну или проще даже toSql()
источник

SG

Sergey Gerasimov in Laravel для начинающих
Сергей Байков
Visitor::where('location', 'LIKE', "%campaign=".$value->id_yandex."%")->whereBetween('created_at', [$from, $to])->withCount('views')->sum('views_count');
Не получается?
источник

СБ

Сергей Байков... in Laravel для начинающих
Sergey Gerasimov
Не получается?
message: SQLSTATE[42703]: Undefined column: 7 ERROR:  column "views_count" does not exist
LINE 1: select sum("views_count") as aggregate from "StatVisitor" wh...
                  ^ (SQL: select sum("views_count") as aggregate from "StatVisitor" where "location"::text LIKE %campaign=3611272% and "created_at" between 2020-03-13 and 2020-03-14)
источник