
Владимир
20.12.2016
06:34:22
Именно так

Alexander
20.12.2016
06:35:25
- какая у вас почта?
- вася, пес смедящий, мэил ру
норм )

VSKut
20.12.2016
07:11:31

Google

VSKut
20.12.2016
07:12:56
А нормальных источников нет?
http://main-rutor.org/torrent/537606/frejmvork-laravel-s-nulja-do-profi-videokurs-2016-pcrec/

Beeyev
20.12.2016
07:48:27
чуваки
ай нид хелп
есть таблицы в SQL с настроенными справочниками по внешним ключам
все как надо
тут например в двух столбцах один справочник станций, а для двух других справочник организаций
как правильно в ларавеле дергать инфу из этой таблицы, чтобы сразу подтянулись все данные из справочников
?*

Alexey
20.12.2016
07:50:48
Видимо мени ту мени

Golib
20.12.2016
07:51:47
one to many?

Beeyev
20.12.2016
07:51:50
нет,у меня получается два и больше столбцов ссылаются на один справочник
в обычном варианте это просто селект из двух - трех таблиц

Google

Beeyev
20.12.2016
07:52:23
где типа ид + ид из др таблицы

Alexey
20.12.2016
07:59:54
Было бы супер конечно увидеть всю схему что куда и зачем)

Beeyev
20.12.2016
08:02:22
в простом виде
это две таблицы
одна содержит справочник станций
вторая основные данные, где есть еще два поля. ИД станции отправления и ИД станции получателя
нужно дергать основные данные пачкой из 50 строк например, и чтобы в запросе вместо айдишников из этих двух столбцов, были имена станций из справочника


Vladimir
20.12.2016
08:50:07
А в чем собственно говоря проблема?
У вас стандартная связь
Пример -
public function engineEntity()
{
return $this->belongsTo(RefCarEngine::class, 'engine_id');
}
RefCarEngine - модель справочника, например станции. engine_id меняете на shipper_int_id
и так для 4 случаев пишите 4 связи. связи эти пишите в основную модель
потом в контроллере сделаете просто find или findOne по главной модели - дальше можно обращаться к связям как к атрибутам объекта
можете добавить в основной модели вот такие обвязки, чтобы проще было во view доставать, особенно если в нескольких местах нужно доставать
public function getEngineAttribute()
{
return ($this->engine_id and $this->engineEntity) ? $this->engineEntity->name : null;
}

sofar
20.12.2016
09:03:54
Привет, чат
Хотел поинтересоваться: а кто-нибудь делает свои фасады в ларке?
Если да, то для чего?
Я просто пытаюсь понять практику их применения, по сути же получается хардкод

Google

sofar
20.12.2016
09:08:29
Да, если потребуется в сервис провайдере можно подменить то, что будет отдаваться, но это уже совсем костыль какой-то получается

Vladimir
20.12.2016
09:09:35
Фасады не пишем у себя, но по факту это просто замена DI. DI активно используем в phalcon и очень рады.
Фасады в ларе просто для сокращения синтаксиса, но даже в доке их не очень советуют использовать

Sergey
20.12.2016
09:11:07
Хотел поинтересоваться: а кто-нибудь делает свои фасады в ларке?
Насколько мне кажется их создали,чтобы упростить DI для новичков. То есть ты в любом месте пишешь фасад и используешь его статик методы. Без всяких "усложнений" по добавлению по получению объекта через DI. Правда нарушая при этом SOLID и делая проблемным тестирование

sofar
20.12.2016
09:11:55
Вот, проблема в тестировании, да
Спасибо, убедился в своих подозрениях

Vladimir
20.12.2016
09:13:24
вообще в той же доке про это как раз информация
их можно тестировать и тд нормально

Sergey
20.12.2016
09:13:39
тем более фасады в несколько кликов (или клик + поиск) можно заменить на DI :)

Vladimir
20.12.2016
09:13:45
просто там предостережение - классы не должны быть большими
https://laravel.com/docs/5.3/facades

Sergey
20.12.2016
09:14:07
И дело не в классах. дело именно в Application
Кстати, в тестах ларавель сам по себе течет (5.2 точно) по 7 метров на тест у нас было
голая ларавелька
Поэтому лучше обойтись без фасадов (тем более без IDE Helper подсказки в шторме не работают)

Vladimir
20.12.2016
09:16:56
Пока тут нормальные вопросы-ответы пошли... у меня такой вопрос. Как вы тестируете нагрузочно свои проекты? Больше даже интересует анализ. Например, вам нужно спрогнозировать какую нагрузку сможет выдержать ваш текущий проект. Какими методами/инструментами пользуетесь и что почитать?

Sergey
20.12.2016
09:17:33
Хороший вопрос, тоже интересно кто чем делал. я только ab гонял
с xhprof

Google

Sergey
20.12.2016
09:18:14
В целом, в нем можно довольно сложные схемы описывать а не просто один роут дергать.

Vladimir
20.12.2016
09:20:30
Пока все, что я придумал - это выделить самое узкое место (страница с максимальной нагрузкой на базу и тд) и пройтись по этому месту одним из сервисов, которые генерируют активных пользователей + посещаемость. Ну по хорошему перед этим еще желательно насидить данных достаточно. Но хотелось бы знать, как это "по-взрослому" делают люди

Sergey
20.12.2016
09:22:12
лучше разноплановые запросы генерировать, причем чем похожее будет профиль на реальную нагрузку, тем будет лучше

sofar
20.12.2016
09:22:16
Не знаю как по-взрослому, у нас когда было нагрузочное тестирование пользовались Apache JMeter

Sergey
20.12.2016
09:22:30
горлышки могут быть не только в бд. в файловой системе той же самое

sofar
20.12.2016
09:22:31
Это весь мой опыт нагрузочного тестирования

Sergey
20.12.2016
09:22:38
нагрузка по памяти (Какой-то неоптимальный кусок кода)

Admin
ERROR: S client not available

Sergey
20.12.2016
09:23:01
плюс еще кэши могут сбивать. Тоже считаю, что нагрузочное тестирвание с ними надо делать
в итоге, тяжелый запрос к бд может быть закеширован и всё очень быстро работать будет. а на деле (когда пользователей много и для каждого запрос не закэширован) всё будет тормозить
ведь всегда лень уникальные данные придумывать :) а иногда это и вообще очень сложно сделать

sofar
20.12.2016
09:25:02
У нас на проекте для этого был добавлен параметр в запрос, для того, чтобы кеш не использовался
Вообще он был добавлен изначально для дургих целей, как раз для пользовательских, но тут пригодилось очень кстати

Vladimir
20.12.2016
09:26:35
хмм. ман бы какой-нибудь, статейку. если встретите что-нибудь такое - делитесь, пожалуйста)

sofar
20.12.2016
09:27:26

Sergey
20.12.2016
09:28:12

sofar
20.12.2016
09:28:23
не, ты прав, это костыль

Sergey
20.12.2016
09:28:42

Google

Sergey
20.12.2016
09:28:50
и это было узкое место.
вот и гоняли под нагрузкой ресайз одной картинки (с кэшем) и параллельно многих

sofar
20.12.2016
09:29:06
Но он крайне необходим был в короткие сроки, поэтому приняли решение пока сделать так

Sergey
20.12.2016
09:29:27

sofar
20.12.2016
09:29:52
Это да

Vladimir
20.12.2016
09:32:06

sofar
20.12.2016
09:33:34
Нет, но вот как раз слышал хорошее о нем
Но представления не имею, честно
Сотрудник из предыдущего места работы очень восторженно рассказывал, но я ничего не запомнил

Vladimir
20.12.2016
09:38:19
Запишу себе, спасибо)

VSKut
20.12.2016
11:54:15
Через что принимаете оплату в битках?
В идеале нужно просто пополнять баланс аккаунта, который в $

Wild
20.12.2016
12:53:07
Предположим что я делаю выборку $data = Notify::where('group_id', '=', $id);
Могу ли я теперь из data какими то средствами получить информацию?
например сделать выборку через where из самой переменной?
Чтобы не делать лишних запросов к бд?
А то делать поочередно 5 запросов
чтобы получить 5 count значений
как то не особо

VSKut
20.12.2016
12:57:44
->where()->where