Laravel по-русски

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

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

#51 Re: Laravel 5.x » После переноса на другой сервер на запустился » 30.06.2017 16:52:13

Я примерно так и сделал, кст не могли бы вы посмотреть пожалуйста вот эту тему https://laravel.ru/forum/viewtopic.php?pid=12983
это меня побольше интересует)

#52 Re: Laravel 5.x » Как лучше связать таблицы » 30.06.2017 16:50:46

Хочу его оптимизировать ибо на стр получается 61 запрос
defaf5afea9002090a228e1fd6395112.png

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

в первом посту привел аналогию с другими таблицами, все так же, просто названия таблиц другое

#53 Re: Laravel 5.x » Как лучше связать таблицы » 30.06.2017 16:49:06

			foreach (AnalyticsVisitor::where('date', '>=', $daterangepicker_start)->where('date', '<=', $daterangepicker_end)->groupBy($stat)->orderby($stat, 'asc')->get() as $AnalyticsV) {
				
				$total = AnalyticsImp::whereIn('visitor_id', AnalyticsVisitor::where('date', '>=', $daterangepicker_start)->where('date', '<=', $daterangepicker_end)->where("$stat", $AnalyticsV->$stat)->pluck('id')->toArray())->where('group_id', '=', $id)->count();
				$uniq = AnalyticsVisitor::whereIn('id', AnalyticsImp::where('group_id', '=', $id)->pluck('visitor_id')->toArray())->where("$stat", $AnalyticsV->$stat)->where('date', '>=', $daterangepicker_start)->where('date', '<=', $daterangepicker_end)->count();
				$backup = AnalyticsImp::whereIn('visitor_id', AnalyticsVisitor::where('date', '>=', $daterangepicker_start)->where('date', '<=', $daterangepicker_end)->where("$stat", $AnalyticsV->$stat)->pluck('id')->toArray())->where('group_id', '=', $id)->where('backup', '=', 1)->count();
				
				$Data[] = [
					'name' => $AnalyticsV->$stat,
					'total' => $total,
					'visits' => $uniq,
					'backup' => $backup
				];
			}
			
			if ($stat != "date") {
				usort($Data, function ($a, $b) {
					return $b['visits'] - $a['visits'];
				});
			}

#54 Re: Laravel 5.x » После переноса на другой сервер на запустился » 30.06.2017 15:10:55

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

#55 Laravel 5.x » После переноса на другой сервер на запустился » 30.06.2017 12:46:48

adams
Ответов: 4

Перенес проект на другой сервер, конфиги те же, но отдает белый лист, уже все проверил, не могу понять что не так, подскажите пожалуйста

#56 Re: Laravel 5.x » Разные контроллеры по одному маршруту » 28.06.2017 19:09:10

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

#57 Laravel 5.x » Как лучше связать таблицы » 28.06.2017 18:52:48

adams
Ответов: 8

Есть 3 таблицы

1)group

id title data ...

2)ticket

id group_id user_id data ...

3)user

id way time amount ...

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

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

Как это можно упростить? ибо пару раз получал ошибку 502 когда было больше 500к тестовых "покупок"

Делал через hasMany


в другом месте подобную задачу реализовал сдлеющим образом

запрашиваю всех юзеров передаю в форыч, пробигаю по всем и с помощью гроуп бай забирал все билеты по данному юзеру добавляя запрос whereIn и запрос в таблицу гроуп что бы забрать удовлетворящие иды по гроуп ид


Чуть позже могу скинуть запросы, просто в соседней теме прочитал, что агригировать 3 раза не гуд, вот и понять пока не могу как лучше реализовать задачу? либо менять структуру бд

#59 Re: Laravel 5.x » Отладка запросов » 28.06.2017 09:35:06

Спасибо) В нем я смогу посмотреть все запросы что вообще делает приложение? и время на их выполнение?

#60 Laravel 5.x » Отладка запросов » 27.06.2017 21:34:31

adams
Ответов: 3

Как посмотреть все запросы к бд от ларавеля в нативном (чистый sql) виде? именно все
dd() я так понимаю не подойдет

#62 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 26.06.2017 02:44:32

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

#63 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 26.06.2017 02:42:37

у меня нгинкс, поставил просто геоип либу для пхп к ларавелю и все) или как в ларавел получить $_SERVER['REMOTE_ADDR'] ? $_ENV?

#64 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 26.06.2017 00:14:41

1)думал через нгинкс, но собранный модуль геоип2 не захотел работать на дебиане 8, просто геоип не подойдет у меня бд не дат формата, а их нового
2)определение делаю через пхп(ларавел)

ип нахожу через такую проверку

if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$visitor_ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$visitor_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$visitor_ip = $_SERVER['REMOTE_ADDR'];
}

или как лучше? именно через пхп (ларавел)

#65 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 17:25:38

установил, только не понял где это взять?

maxmind-db/reader suggests installing ext-gmp (bcmath or gmp is requred for decoding larger integers with the pure PHP decoder)
maxmind-db/reader suggests installing ext-maxminddb (A C-based database decoder that provides significantly faster lookups)

только где это взять? по запросу

#67 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 16:55:47

ну я хочу https://github.com/leev/ngx_http_geoip2_module это заюзать) место либы в пхп)
насчет либы я так понял мне н е хватало курла у пхп 5

#68 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 16:52:24

у меня дебиан)
странно, что на директорию домена стоит через пхп фмп пхп 7, а он мне пишет пхп 5

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

if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$visitor_ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$visitor_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$visitor_ip = $_SERVER['REMOTE_ADDR'];
}

в нгикс

#69 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 15:27:21

просто у меня включен курс в пхп 7

#70 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 15:16:45

composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - maxmind/web-service-common v0.3.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
    - maxmind/web-service-common v0.3.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
    - geoip2/geoip2 v2.5.0 requires maxmind/web-service-common ~0.3 -> satisfiable by maxmind/web-service-common[v0.3.0, v0.3.1].
    - Installation request for geoip2/geoip2 ^2.5 -> satisfiable by geoip2/geoip2[v2.5.0].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php5/cli/php.ini
    - /etc/php5/cli/conf.d/05-opcache.ini
    - /etc/php5/cli/conf.d/10-pdo.ini
    - /etc/php5/cli/conf.d/20-gd.ini
    - /etc/php5/cli/conf.d/20-json.ini
    - /etc/php5/cli/conf.d/20-mcrypt.ini
    - /etc/php5/cli/conf.d/20-mysql.ini
    - /etc/php5/cli/conf.d/20-mysqli.ini
    - /etc/php5/cli/conf.d/20-pdo_mysql.ini
    - /etc/php5/cli/conf.d/20-readline.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.



-------------
я правильно понял, что нужно доставить ext-curl?

#71 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 15:13:14

[InvalidArgumentException]
  Could not find package geoip2/geoip at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability



при composer require geoip2/geoip2

#72 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 13:06:06

require_once 'vendor/autoload.php';

я про это

или
1)установил
2)use GeoIp2\Database\Reader; заюзал
3)$reader = new Reader(файл) так? или можно вот так Reader::(файл)?

#73 Re: Laravel 5.x » Laravel MaxMind (GeoIP2) » 25.06.2017 12:57:07

подключение всяких автолоадеров не нужно?
просто установил и new \GeoIp2\Database\Reader(PRJ_ROOT . 'var/GeoLite2-City.mmdb') и работаешь?

а то я уже через нгикс парсинг бд делаю

#74 Laravel 5.x » Laravel MaxMind (GeoIP2) » 24.06.2017 22:30:08

adams
Ответов: 19

https://github.com/Torann/laravel-geoip
https://github.com/pulkitjalan/geoip

нашел 2 модуля под ларавел, но в них предусмотрено подключение только 1 базы, как подкдючить например 2 бд сити дб и исп дб
например в в пхп ридере максмайнда (не ларавел) $reader = new Reader('/usr/local/share/GeoIP/GeoIP2-City.mmdb');

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

Кто-то сталкивался с таким?

#75 Re: Laravel 5.x » Nginx Отдача 1 стр через http, а остпльные через https » 21.06.2017 19:34:27

Proger_XP, вы видимо не поняли о чем я...но да бог с ним, я высказал свою точку зрения по поводу решения проблемы, если у тса выйдет на 1 домене связать шттпс протокол + шттп - пусть отпишется в теме ибо я как-то пробовал сделать подобное, но у меня не вышло ибо у меня стояла переадресация с шттп на шттпс и ее нужно было оставить, если у тса такого нет(переадресации), то возможно вы и правы...

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