
F01134H
27.03.2018
15:42:54
ок
спасибо

Oleg
27.03.2018
15:50:11
Такой вопрос, нужно сохранять предыдущий роут, думал делать это в терминецт методе мидлвари, но по факту Блейд не видит сессию
Может кто реализовывал такое?

Google

Oleg
27.03.2018
15:51:00
Через флеш сохраняю сессию

Александр
27.03.2018
15:54:56
Ребят
привет
прохожу курс и там вот такое, но не объяснено зачем
что нам дают эти имена?

Kaido
27.03.2018
15:55:51
попробуй так
разобрался)
Forums::whereIsRoot()->get()
вернет всех родителей)

Grigorii
27.03.2018
15:56:06
на эту категорию
1. Конструирует ссылки легко и красиво
2. Теперь можно поменять ссылку в роутере не переписывая больше ничего, если имя осталось

Александр
27.03.2018
15:57:19
хм
просто в контроллере show не юзается

Oleg
27.03.2018
15:57:40
Либо же лоализировать урлы

Google

Александр
27.03.2018
15:57:43
тупо - tag
вот сюда ссылаемся

Dmitry
27.03.2018
15:59:34

Oleg
27.03.2018
16:00:45

Dmitry
27.03.2018
16:01:44

Oleg
27.03.2018
16:01:53
В зависимости от него крошки строятся
Если перешёл из категории женская одежда
То последняя в них - женская одежда
Если из мужской - мужская
У продукта может быть несколько категорий
И в зависимости от сурса перехода строятся крошки
Передавать что-то в урл - заказчик категорично против

Dmitry
27.03.2018
16:04:54

Oleg
27.03.2018
16:06:06
а если прямой переход?
В плане? Если бы это было Аля /category/{category}/product/{product} вопросов бы не было, но заказчик хочет урлы строго /product/{product}

Dmitry
27.03.2018
16:06:58

Oleg
27.03.2018
16:07:14
Тогда подставляется first()
Из связи
Тут ему уже все равно на кролки

Google

Dmitry
27.03.2018
16:09:00
блин хз. единственное что в голову приходит, это брать url с которого пришел пользователь и смотреть была ли это страница категории, если была, выбирать из него название этой категории

Oleg
27.03.2018
16:09:52
Ну был вариант распарсить url()->previous()
И получить из него роут
Но это какие-то костыли

Dmitry
27.03.2018
16:10:50
зачем тебе роут, ты просто смотришь твой ли это url и страница ли категорий это. Если да, выбираешь название категории
помоему норм
в твоем случае это не костыли
у тебя логика крошек основывается на предыдущей странице

Oleg
27.03.2018
16:12:22
Ну завтра ещё посмотрю, может ивентом сделаю, когда приложение загружено - буду сохранять сессию

Dmitry
27.03.2018
16:13:02

Oleg
27.03.2018
16:13:32

Dmitry
27.03.2018
16:14:17
потому что чел зашел в категорию, ты это записал, потом он вышел, походил по сайту, зашел в товар с какой нибудь другой страницы, а у тебя вывелась категория

Dmitry
27.03.2018
16:14:51
а ивент ты вообще как собираешься прикрутить?

Oleg
27.03.2018
16:16:24
Лисенер, на laravel.done, вроде так эвент еазыаетсч, если перейдет с индекса в сессии будет индекс
Соответственно не попадет под категорию и выведет first()

Dmitry
27.03.2018
16:17:43
не факт что он после категории пойдет в товар
понял, ты хочешь все роуты записывать в сессию?
ну так себе...

Oleg
27.03.2018
16:19:11
Если я буду это делать эвентом я буду делать session ()->flash('previous-route',cureentRoute) после чего сессия появится только в следующем реквесте и после будет перезаписан

Google

Oleg
27.03.2018
16:19:18
Почему?

Dmitry
27.03.2018
16:21:02
ну попробуй :)

Oleg
27.03.2018
16:22:17
По идее если перейдет из браузера или не из категории - можно сделать веса для тех самых же категорий, а на крошки выводить категорию с большим весом

Alexander
27.03.2018
16:56:03
Насколько зашкварно так пересобирать объекты?
// Найти заведение
$institution = Institution::find($id);
// Найти изображения
$medias = $institution->getMedia('institutions');
// Привести к нужному виду
$medias = $medias->map(function($media) {
return $media->info();
});
unset($institution->media);
$institution->media = $medias;

Илья
27.03.2018
17:41:19

Vitaliy
27.03.2018
18:02:52
ребят, как в миграции указать уникальность на основании 2 полей?

Илья
27.03.2018
18:04:19

Vitaliy
27.03.2018
18:06:44
супер, спасибо

Admin
ERROR: S client not available

Alexander
27.03.2018
18:17:56
$validation = Validator::make($request->all(),[
'phone' => 'required|min:10|max:20'
]);
if($validation->fails()){
return new Response(JSONHelper::getJson(NULL, $validation->errors()),400);
}
Можно как-то вынести это в хелпер? Чтобы прямо из хэлпера прерывалось выполнение если не пройдена валидация?
Я уже вынес, но не получается прерывания выполнения
public static function validate(Request $request, $rules) {
$validation = Validator::make($request->all(), $rules);
if($validation->fails()){
return new Response(JSONHelper::getJson(NULL, $validation->errors()),400);
}
}

Илья
27.03.2018
18:41:42
Что такое аксесор?))
как-то так
protected $appends = ['media'];
public function getMediaAttribute() {
return $this->getMedia();
}
и потом обращаться к полю media
результат такой же, которого ты и достиг бы с помощью кода, приведенного тобой выше
если я, конечно, правильно понял, что тебе надо

Alexander
27.03.2018
18:43:15
Это тоже надо))

Vitaliy
27.03.2018
18:50:35
парни есть роут {category} и есть группа роутов admin/
но дело в том, что группа роутов появляется с провайдера при boot. Соответсвенно, изначально лара видит мой контроллер на {category} и уже не видит группы под админку, как это подправить?
——
група роутов на админку добавляется через $this->app->call

Alexey
27.03.2018
20:59:50
Ребят, можно ли провалидировать Request`ом присланный JSON?
Или только сериализированную форму?

Andrey
27.03.2018
21:01:47
У валидатора есть хук after/ Там пиши все что угодно

Alexey
27.03.2018
21:02:22
Спасибо.

Google

Andrey
27.03.2018
21:02:40
В запросе формы "достаешь" валидатор и вперед

Alexey
27.03.2018
21:02:57
Это не понял.

Andrey
27.03.2018
21:03:44
Сек
В запросе формы определяешь метод getValidatorInstance()
в начале получаешь валидатор $validator = parent::getValidatorInstance()
Добавляешь к нему хук after
И в конце возвращаешь этот валидатор

Alexey
27.03.2018
21:07:41
Уф, сейчас ещё раз почитаю доки, более вдумчиво. Спасибо.

Andrey
27.03.2018
21:08:11
Сейчас поищу кусок кода может найду
protected function getValidatorInstance()
{
$validator = parent::getValidatorInstance();
$validator->after(function ($validator) {
if ($this->price_type == 'spare' && !$this->has('number_col')) {
$validator->errors()->add('number_col', trans('validation.required_if', [
'attribute' => trans('Number, column'),
'other' => trans('Price type'),
'value' => trans('Spare parts')
]));
}
return $validator;
}
Как то так

Alexey
27.03.2018
21:22:43
Ух, спасибо.
Ребят, есть кто живой? Как правильно создать валидационное правило?

Михаил
28.03.2018
03:04:37
https://laravel.com/docs/5.6/validation
в самом низу смотри Custom Validation Rules

Vitaliy
28.03.2018
04:03:57
есть у кого ответ?
парни есть роут {category} и есть группа роутов admin/
но дело в том, что группа роутов появляется с провайдера при boot. Соответсвенно, изначально лара видит мой контроллер на {category} и уже не видит группы под админку, как это подправить?
——
група роутов на админку добавляется через $this->app->call

Λ X Ξ L
28.03.2018
04:27:18
Ребят есть какие нибудь задания на laravel с оплатой?

Oleg
28.03.2018
05:46:13

Vitaliy
28.03.2018
05:46:28
перебиваются..