Dmitry
зачем тебе роут, ты просто смотришь твой ли это url и страница ли категорий это. Если да, выбираешь название категории
Dmitry
помоему норм
Dmitry
в твоем случае это не костыли
Dmitry
у тебя логика крошек основывается на предыдущей странице
Oleh
Ну завтра ещё посмотрю, может ивентом сделаю, когда приложение загружено - буду сохранять сессию
Dmitry
Oleh
Dmitry
потому что чел зашел в категорию, ты это записал, потом он вышел, походил по сайту, зашел в товар с какой нибудь другой страницы, а у тебя вывелась категория
Dmitry
а ивент ты вообще как собираешься прикрутить?
Oleh
Лисенер, на laravel.done, вроде так эвент еазыаетсч, если перейдет с индекса в сессии будет индекс
Oleh
Соответственно не попадет под категорию и выведет first()
Dmitry
Dmitry
не факт что он после категории пойдет в товар
Dmitry
понял, ты хочешь все роуты записывать в сессию?
Dmitry
ну так себе...
Oleh
Если я буду это делать эвентом я буду делать session ()->flash('previous-route',cureentRoute) после чего сессия появится только в следующем реквесте и после будет перезаписан
Oleh
Почему?
Dmitry
ну попробуй :)
Oleh
По идее если перейдет из браузера или не из категории - можно сделать веса для тех самых же категорий, а на крошки выводить категорию с большим весом
Alexander
Насколько зашкварно так пересобирать объекты?
// Найти заведение
$institution = Institution::find($id);
// Найти изображения
$medias = $institution->getMedia('institutions');
// Привести к нужному виду
$medias = $medias->map(function($media) {
return $media->info();
});
unset($institution->media);
$institution->media = $medias;
Illia
Vitaliy
ребят, как в миграции указать уникальность на основании 2 полей?
Illia
Vitaliy
супер, спасибо
Alexander
$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);
}
}
Illia
Что такое аксесор?))
как-то так
protected $appends = ['media'];
public function getMediaAttribute() {
return $this->getMedia();
}
и потом обращаться к полю media
Illia
результат такой же, которого ты и достиг бы с помощью кода, приведенного тобой выше
Illia
если я, конечно, правильно понял, что тебе надо
Alexander
Это тоже надо))
Vitaliy
парни есть роут {category} и есть группа роутов admin/
но дело в том, что группа роутов появляется с провайдера при boot. Соответсвенно, изначально лара видит мой контроллер на {category} и уже не видит группы под админку, как это подправить?
——
група роутов на админку добавляется через $this->app->call
Алексей
Ребят, можно ли провалидировать Request`ом присланный JSON?
Алексей
Или только сериализированную форму?
Андрей
У валидатора есть хук after/ Там пиши все что угодно
Алексей
Спасибо.
Андрей
В запросе формы "достаешь" валидатор и вперед
Алексей
Это не понял.
Андрей
Сек
Андрей
В запросе формы определяешь метод getValidatorInstance()
Андрей
в начале получаешь валидатор $validator = parent::getValidatorInstance()
Андрей
Добавляешь к нему хук after
Андрей
И в конце возвращаешь этот валидатор
Алексей
Уф, сейчас ещё раз почитаю доки, более вдумчиво. Спасибо.
Андрей
Сейчас поищу кусок кода может найду
Андрей
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;
}
Андрей
Как то так
Алексей
Ух, спасибо.
Алексей
Ребят, есть кто живой? Как правильно создать валидационное правило?
Mike
https://laravel.com/docs/5.6/validation
Mike
в самом низу смотри Custom Validation Rules
Vitaliy
есть у кого ответ?
Vitaliy
парни есть роут {category} и есть группа роутов admin/
но дело в том, что группа роутов появляется с провайдера при boot. Соответсвенно, изначально лара видит мой контроллер на {category} и уже не видит группы под админку, как это подправить?
——
група роутов на админку добавляется через $this->app->call
Anonymous
Ребят есть какие нибудь задания на laravel с оплатой?
Oleh
Vitaliy
перебиваются..
Oleh
У тебя одинаковые префиксы?
Vitaliy
нет конечно же
Vitaliy
префикс только в админке
Oleh
У тебя категория ловит админку?
Vitaliy
{categpry}/ один роут
наоборот
Oleh
Не понял
Oleh
Покажи категории и админку
Oleh
Роутах
Vitaliy
вот для Route::match(['get', 'post'], '/{category}/{city?}/{new?}', 'CategoryController@show');
категории
Oleh
По идее тебе нужно провайдер определить раньше чем регистрирует роуты, а значит раньше чем роутсервиспровацдер
Vitaliy
да
Oleh
У тебя пакет или ты сам пишешь?
Nik
попробуй их из бут в регистр перенести
Nik
регистр отработает во второй фазе после всех бутов
Oleh
Все зависит от того его ли это код
Oleh
Если это твой код регистрируй админку до мапа роутов
Vitaliy
пакет
Vitaliy
админки
Oleh
В каком методе регистрация роутов
Oleh
В буте?
Vitaliy
да
Vitaliy
$this->app->call([$this, 'registerRoutes']);
Oleh
А как выглядит твой {category}?
Vitaliy
Route::match(['get', 'post'], '/{category}/{city?}/{new?}', 'CategoryController@show');
Vitaliy
алиас