Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#26 Re: Laravel 5.x » Сессии на поддоменах » 12.09.2017 13:22:36

Тогда лучше на диске, чем в озу например....

#27 Re: Laravel 5.x » Сессии на поддоменах » 11.09.2017 19:19:22

Единственное, что сделал это уменьшил время жизни файла

#28 Laravel 5.x » Сессии на поддоменах » 11.09.2017 18:30:14

adams
Ответов: 6

Суть на поддомене висит скрипт к которому идет много обращений, как выключить ссесии для данного поддомена? Ибо у меня файлов в папке ссесионс очень много)))

#29 Laravel 5.x » many clients already » 10.09.2017 14:51:26

adams
Ответов: 0

Иногда если быстро клоцнуть на одну ссылку на сайте (в админке) вылетает
SQLSTATE[08006] [7] FATAL: sorry, too many clients already
FATAL: sorry, too many clients already (SQL: select * from "users" where "id" = 1 limit 1)

Извиняюсь за такую трактовку, но суть описал верно.
У меня бд - постгря.
Я вот думаю увеличивать количество конектов или настроить пг пул? или дело не в бд? а в каком то запросе в ларавел? но я таких не добавлял

#30 Re: Laravel 5.x » Не идут запросы » 31.08.2017 23:33:31

В аксес логе 434 запроса за весь август, но он не всегда фиксирует все..я вот к примеру заходил недавно смотрел рекламу, но аксес лог не обновился....да в любом случае что бы даже зафиксировался пользователь должна существовать группа ид которой был передан...не так и много условий и я понять не могу в чем проблема

#32 Re: Laravel 5.x » Вопрос про отношения » 06.08.2017 23:53:46

Ну у меня есть таблица тегс гроупс, я вывожу группы на странице с помощью пагинации.

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

я делаю так

		$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');
	}

Т.е на выходе я хочу получить модель для каждой группы, где доп параметрами указан паблишер и размер тега входящего в группу эти данные можно получить с любого тега в этой группе.Я думал через отношение сделать, я показал, что чучуть не выходит, вернее так работало на мускуле, перехал на постгрии и чот сломалось) не пойму что) но вроде в коде косяк

#33 Laravel 5.x » Вопрос про отношения » 06.08.2017 21:17:34

adams
Ответов: 2

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 ищется, то, что передалось, после нахождения береться ид из таблицы юсерс и отправляется в постс и там уже идет сравнение по полю юсер ид

Суть вопроса как можно взять из каутри его ид, передать в юсерс и сравнить по полю каунтри ид, но потом из юсерс взять другое поле не ид, и его отправить в постс? для порлучения конечно модели

#34 Re: Laravel 5.x » Назначение selectRaw » 19.07.2017 17:14:24

Привет) Как обычный селект в котором можно писать запросы на выборку, ну я его так использую, хотя в документации находил только DB::raw

К примеру

selectRaw('COUNT(ip) as total')->...

#35 Re: Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 17.07.2017 00:39:48

$data = Analytics::selectRaw("$stat, COUNT(DISTINCT ip) AS visitors, COUNT(ip) AS visits")->whereBetween('date', [$daterangepicker_start, $daterangepicker_end])->groupBy($stat)->get();

Решил задачу!Спасибо!

Я Вам, что-то должен?

#36 Re: Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 17.07.2017 00:22:34

Чучуть выше описал подробнее, разве нет дургих вариантов, кроме как писать проверки, мне показалось вы слегка не поняли что я делаю))

#37 Re: Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 17.07.2017 00:19:25

Я передаю пост запросом переменку $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]
]

и этот массив я передаю во вьювер и спокойно перебираю форычем создаю таблицу.

#38 Re: Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 17.07.2017 00:11:42

Если честно немного не то, можно с вами списаться на емейл? если что я готов оплатить консультацию!

#39 Re: Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 17.07.2017 00:03:08

Дата это фильтр...

в дату попадает ип сити коунтри ос исп и тп.

#40 Re: Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 16.07.2017 23:43:36

А можно на выходе получить массив или объект
в котором есть ячейка дата / виситорс / виситс

что бы во вьювере просто форычем перебрать и вывести итоговую таблицу? я этого пытаюсь добиться

#42 Re: Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 16.07.2017 23:23:50

Нужно вывести аналитику на страницу.

Есть таблица

WVYSZ0Dejx4.jpg

Нужно таблицей вывести
дата / кол-во посителей / кол-во просмотренных страниц

в дату попадает ип сити коунтри ос исп и тп. Как лучше вот это сделать?

За пояснение про бд отельное спасибо!

#43 Laravel 5.x » Добавить кастомное поле к каждому элементу коллекции » 16.07.2017 22:34:02

adams
Ответов: 16

Есть запрос

$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();

и что бы все подходящие элементы поместились в доп ячейку каждого эелемента коллекции.

Второй запрос один в один только без гроуп бай

пс в постгрии если делать гроупбай то он просит добавить эту ячейку в селект, это косяк самого постгриии?

#44 Re: Laravel 5.x » credentials » 15.07.2017 02:36:28

И еще момент $this->username() возвращает строку 'email'.
Опять же он обращается к текущему методу класса? просто я его не вижу.
Исправил на

return array_merge($request->only('email', 'password'), ['status' => 1]);

#45 Laravel 5.x » credentials » 15.07.2017 02:17:26

adams
Ответов: 2

Доброй ночи всем)попрошу, кто знает объяснить мне насчет этого кусочка кода

    protected function credentials(Request $request)
    {
        return array_merge($request->only($this->username(), 'password'), ['status' => 1]);
    }

Он находиться в логин контроллер, но он не где не вызывается (кроме папки вендор)
Я правильно понимаю, что я просто переопределяю встроенный метод при входе юзера в систему? и это лучше чем attempt метод? для добавления кастомных параметров/
Спасибо!

#46 Re: Laravel 5.x » hasManyThrough/hasMany » 02.07.2017 12:16:57

Есть любые идеи?
просто уже все облазил, не могу найти, что бы кто-то делал зависимости между таблицами и с промежуточной таблицы выбирал иды с доп условием

#47 Re: Laravel 5.x » Как лучше связать таблицы » 02.07.2017 11:55:20

1)В этой строке

<small>{{$User->permissionsGroup->name}}</small>

Как он делает запрос то в бд?)))
2)Немного не пойму про индексы, если их юзать просто время ответа уменьшиться, если смотреть через дебагер?
3)В коде разбираться не нужно, просто хотел узнать ваше мнение по поводу пары моментов, как сделать лучше ибо друзей которые давно пишут на ларавел нет.

#48 Laravel 5.x » hasManyThrough/hasMany » 02.07.2017 02:59:08

adams
Ответов: 1

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)

#49 Re: Laravel 5.x » Как лучше связать таблицы » 02.07.2017 01:28:51

Эх так и не получил от вас ответа)

1)Что значит не по соглашениям ларавел (я про названия таблиц)
2)Из 61 запроса удалось добиться 9 запросов (не зависимо от кол-во групп) с помощью жадной загрузки.
3)Про агрегацию, если данных очень много, не только по дням, а и по странам, городам и тп, помоему не выгодно все считать и в таблицы класть, сделал получение просто с бд и через count в пхп их считаю

пс если все таки отпишите на емейл, был бы рад с вами побеседовать, я про консультацию

псс

в вьювере вывожу вот так

<small>{{$User->permissionsGroup->name}}</small>

не пойму чего он так ругается (откуда повторные запросы?!)

17783030_m.png

#50 Re: Laravel 5.x » Как лучше связать таблицы » 01.07.2017 10:45:30

Примерно понял о чем Вы. но можно с Вами связаться отдельно? Я написал Вам на почту, просто хочу проконсультироваться (платно, не за 300р как кто-то помню писал в теме)))),

Подвал раздела