Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Тогда лучше на диске, чем в озу например....
Единственное, что сделал это уменьшил время жизни файла
Суть на поддомене висит скрипт к которому идет много обращений, как выключить ссесии для данного поддомена? Ибо у меня файлов в папке ссесионс очень много)))
Иногда если быстро клоцнуть на одну ссылку на сайте (в админке) вылетает
SQLSTATE[08006] [7] FATAL: sorry, too many clients already
FATAL: sorry, too many clients already (SQL: select * from "users" where "id" = 1 limit 1)
Извиняюсь за такую трактовку, но суть описал верно.
У меня бд - постгря.
Я вот думаю увеличивать количество конектов или настроить пг пул? или дело не в бд? а в каком то запросе в ларавел? но я таких не добавлял
В аксес логе 434 запроса за весь август, но он не всегда фиксирует все..я вот к примеру заходил недавно смотрел рекламу, но аксес лог не обновился....да в любом случае что бы даже зафиксировался пользователь должна существовать группа ид которой был передан...не так и много условий и я понять не могу в чем проблема
потерто...
Ну у меня есть таблица тегс гроупс, я вывожу группы на странице с помощью пагинации.
Вывожу таблицей название группы и другие параметры группы
В группу входят теги и часть параметров тегов я хочу вывести при показе группы (размер тега, паблишер, они одинаковые для группы, т.е в группу входят теги где размер и паблишер один и тот же).
У меня есть таблица связей, где показано какие теги относятся к какой группе.
я делаю так
$TagsGroup = $query->with(['data' => function($query){
$query->select('width', 'height', 'publisher');
}])->orderby('status', 'asc')->orderby('name', 'asc')->paginate(Config::get('app.paginate'));
а в модели
public function data()
{
return $this->hasManyThrough('App\Tags', 'App\GroupId', 'group_id', 'id', 'id');
}
Т.е на выходе я хочу получить модель для каждой группы, где доп параметрами указан паблишер и размер тега входящего в группу эти данные можно получить с любого тега в этой группе.Я думал через отношение сделать, я показал, что чучуть не выходит, вернее так работало на мускуле, перехал на постгрии и чот сломалось) не пойму что) но вроде в коде косяк
https://laravel.ru/docs/v5/eloquent-relationships#mm
countries
id - integer
name - string
users
id - integer
country_id - integer
name - string
posts
id - integer
user_id - integer
title - string
смотрите из таблицы countries берется ид и поставляется в таблицу юсерс и по полю country_id ищется, то, что передалось, после нахождения береться ид из таблицы юсерс и отправляется в постс и там уже идет сравнение по полю юсер ид
Суть вопроса как можно взять из каутри его ид, передать в юсерс и сравнить по полю каунтри ид, но потом из юсерс взять другое поле не ид, и его отправить в постс? для порлучения конечно модели
$data = Analytics::selectRaw("$stat, COUNT(DISTINCT ip) AS visitors, COUNT(ip) AS visits")->whereBetween('date', [$daterangepicker_start, $daterangepicker_end])->groupBy($stat)->get();
Решил задачу!Спасибо!
Я Вам, что-то должен?
Чучуть выше описал подробнее, разве нет дургих вариантов, кроме как писать проверки, мне показалось вы слегка не поняли что я делаю))
Я передаю пост запросом переменку $stat, она будет равна к примеру country
Я делаю запрос
$data = Analytics::select($stat)->whereBetween('date', [$daterangepicker_start, $daterangepicker_end])->groupBy($stat)->get();
Получаю объект из уникальных параметров по столбцу (ячейка data в будущей таблице), но мне нужно рядом вывести количество грубо уникальных ип и количество всего ип.
Хотелось бы сделать это все в 1 запросе и что бы на выходе был 1 объект или 1 массив такого вида
$data = [
['us', 10, 100],
['ca', 20, 300]
]
и этот массив я передаю во вьювер и спокойно перебираю форычем создаю таблицу.
Если честно немного не то, можно с вами списаться на емейл? если что я готов оплатить консультацию!
Дата это фильтр...
в дату попадает ип сити коунтри ос исп и тп.
А можно на выходе получить массив или объект
в котором есть ячейка дата / виситорс / виситс
что бы во вьювере просто форычем перебрать и вывести итоговую таблицу? я этого пытаюсь добиться
Да!
Количество просмотров - это всего сколько ип.
Нужно вывести аналитику на страницу.
Есть таблица
Нужно таблицей вывести
дата / кол-во посителей / кол-во просмотренных страниц
в дату попадает ип сити коунтри ос исп и тп. Как лучше вот это сделать?
За пояснение про бд отельное спасибо!
Есть запрос
$data = Analytics::select($stat)->whereBetween('date', [$daterangepicker_start, $daterangepicker_end])->groupBy($stat)->get();
я хочу к каждому элементу коллекции добавить 2 поля - виситорс и виситс, но вот пока не пойму как.
Просто по сути нужно выполнить доп запрос
Analytics::select($stat)->whereBetween('date', [$daterangepicker_start, $daterangepicker_end])->where($stat, '=', сюда передать ячейку из запроса который выше)->groupBy($stat)->get();
и что бы все подходящие элементы поместились в доп ячейку каждого эелемента коллекции.
Второй запрос один в один только без гроуп бай
пс в постгрии если делать гроупбай то он просит добавить эту ячейку в селект, это косяк самого постгриии?
И еще момент $this->username() возвращает строку 'email'.
Опять же он обращается к текущему методу класса? просто я его не вижу.
Исправил на
return array_merge($request->only('email', 'password'), ['status' => 1]);
Доброй ночи всем)попрошу, кто знает объяснить мне насчет этого кусочка кода
protected function credentials(Request $request)
{
return array_merge($request->only($this->username(), 'password'), ['status' => 1]);
}
Он находиться в логин контроллер, но он не где не вызывается (кроме папки вендор)
Я правильно понимаю, что я просто переопределяю встроенный метод при входе юзера в систему? и это лучше чем attempt метод? для добавления кастомных параметров/
Спасибо!
Есть любые идеи?
просто уже все облазил, не могу найти, что бы кто-то делал зависимости между таблицами и с промежуточной таблицы выбирал иды с доп условием
1)В этой строке
<small>{{$User->permissionsGroup->name}}</small>
Как он делает запрос то в бд?)))
2)Немного не пойму про индексы, если их юзать просто время ответа уменьшиться, если смотреть через дебагер?
3)В коде разбираться не нужно, просто хотел узнать ваше мнение по поводу пары моментов, как сделать лучше ибо друзей которые давно пишут на ларавел нет.
1)
Есть такое "отношение"
public function stats()
{
return $this->hasManyThrough('App\AnalyticsVisitor', 'App\AnalyticsImp', 'group_id', 'id');
}
Суть вопроса, как можно промежуточной модели AnalyticsImp добавить условие (where)? Если работать с ним как в вопросе 2, то все where прилетают к AnalyticsVisitor.
2)
Есть
public function total()
{
return $this->hasMany('App\AnalyticsImp', 'group_id');
}
public function unique()
{
return $this->hasMany('App\AnalyticsImp', 'group_id');
}
public function backup()
{
return $this->hasMany('App\AnalyticsImp', 'group_id');
}
По сути они одинаковы, но объединить в одну не могу ибо работаю с ними вот так
$TagsGroup = $query->with(['total' => function($query) use ($daterangepicker_start, $daterangepicker_end){
$query->where('date', '>=', $daterangepicker_start)->where('date', '<=', $daterangepicker_end);
},'unique' => function($query) use ($daterangepicker_start, $daterangepicker_end){
$query->where('date', '>=', $daterangepicker_start)->where('date', '<=', $daterangepicker_end)->groupBy('visitor_id');
},'backup' => function($query) use ($daterangepicker_start, $daterangepicker_end){
$query->where('date', '>=', $daterangepicker_start)->where('date', '<=', $daterangepicker_end)->where('backup', '=', 1);
}])->orderby('id', 'asc')->paginate(env('BACKEND_PAGINATION'));
Если назову одинаково, то "поле" будет перезаписываться, есть варианты решения задачи? (но больше интересует вопрос под номером 1)
Эх так и не получил от вас ответа)
1)Что значит не по соглашениям ларавел (я про названия таблиц)
2)Из 61 запроса удалось добиться 9 запросов (не зависимо от кол-во групп) с помощью жадной загрузки.
3)Про агрегацию, если данных очень много, не только по дням, а и по странам, городам и тп, помоему не выгодно все считать и в таблицы класть, сделал получение просто с бд и через count в пхп их считаю
пс если все таки отпишите на емейл, был бы рад с вами побеседовать, я про консультацию
псс
в вьювере вывожу вот так
<small>{{$User->permissionsGroup->name}}</small>
не пойму чего он так ругается (откуда повторные запросы?!)
Примерно понял о чем Вы. но можно с Вами связаться отдельно? Я написал Вам на почту, просто хочу проконсультироваться (платно, не за 300р как кто-то помню писал в теме)))),