Yushkevich
если же упало, значит ошибка загрузки
Yushkevich
try { $request->file->store() }
Yushkevich
catch ($e) { return error }
Luka
catch ($e) { return error }
понял спасибо
Aleksey Y.
Сделай мутатор в контроллере, который будет сохранять куда нужно и как нужно
Luka
Сделай мутатор в контроллере, который будет сохранять куда нужно и как нужно
есть пример кода? я в доке не нашел. Или делать как в доках советуют линки с public на storage?
Luka
решилась проблема линком... это нормальная практика?
Mícheál
там же вроде комманда даже для этого есть стораж линк
Gabit
Ребят чето я туплю, немогу отловить ошибку
Gabit
public function checkParent(int $id){ $parent = $this->repository->find($id); if(!$parent){ $this->response['errors'] = 'parent is doesnt exists'; return $this->sendResponse(422); } return true; }
Gabit
Если он не находит запись выдает ошибку
Gabit
Gabit
Не получается отловить ошибку, пробовал через try catch все равно один и тот же результат
Yushkevich
а репозиторий что возвращет?
Gabit
null
Gabit
вот функция репозитория самая обычная public function find($id, $columns = array('*')) { return $this->model->findOrFail($id, $columns); }
Yushkevich
так, а ты уверен, что он у тебя доходит до вызова репозитория?
Yushkevich
у тебя функция checkParent, а ощущение, что падает раньше
Yushkevich
попробуй сдлеать dd($id) в самом начале
Gabit
да я пробовал после $parent = $this->rep ....->find($id); делать dd($parent), возвращает null
Yushkevich
и проверь, что роут именно на эту функцию заодит
Yushkevich
ты dd($id) сделай
Yushkevich
сделай dd('1'); внутри if и dd('2'); за пределами перед return в этом случае
Gabit
Все правильно возвращает
Yushkevich
и проверь куда идет
Yushkevich
ну чудес не бывает
Yushkevich
попробуй сравнение на null сделать
Gabit
попробывал if(!$parent){ dd(1); не доходит до dd
Юрий
так не трогай parent вообще
Юрий
выше него сделай
Юрий
тут сомневаются что у тебя весь метод вызывается
Gabit
Метод точно вызывается
Юрий
public function checkParent(int $id){ dd(1); $parent = $this->repository->find($id); if(!$parent){ $this->response['errors'] = 'parent is doesnt exists'; return $this->sendResponse(422); } return true; }
Yushkevich
if(is_null($parent)) { dd('1'); $this->response['errors'] = 'parent is doesnt exists'; return $this->sendResponse(422); } else { dd('2'); return true }
Yushkevich
попробуй так
Yushkevich
даже лучше вот так
Yushkevich
if(isset($parent) && !is_null($parent)) { dd('2'); return true } else { dd('1'); $this->response['errors'] = 'parent is doesnt exists'; return $this->sendResponse(422); }
Gabit
если в репозитории стоит find он дает посмотреть что находится в dd
Gabit
если стоит findOrFail ошибка происходит раньше
Gabit
то есть $parent = .... dd(1); не возвращает 1
Gabit
Если просто используется find то вовзращает 1
Gabit
и дальше все равно срабатывает ошибка
Yushkevich
если findOrFail стоит, то надо через try catch ловить.
Yushkevich
Мой код последний что возвращает?
Gabit
я пробовал все так же
Gabit
я пробовал catch
Юрий
покажи как
Yushkevich
так погоди
Gabit
if(isset($parent) && !is_null($parent)) { dd('2'); return true; } else { dd('1'); $this->response['errors'] = 'parent is doesnt exists'; return $this->sendResponse(422); } возвращает 1
Gabit
Если убрать dd показывает ошибку
Yushkevich
if(isset($parent) && !is_null($parent)) { dd('2'); return true } else { dd('1'); $this->response['errors'] = 'parent is doesnt exists'; return $this->sendResponse(422); }
если этот код возвращает 1, то значит все ок. Попробуй убери sendResponse(422) а выведи что-то текст для начала
Yushkevich
return 'error';
Yushkevich
сделай
Yushkevich
вместо sendResponse
Gabit
if(isset($parent) && !is_null($parent)) { return true; } else { return false; }
Gabit
Все
Yushkevich
если ты в браузере смотришь, что true / false не очень наглядно можно дебажить
Gabit
спасибо моя ошибка
Yushkevich
в sendReposponse?
Yushkevich
угу. Чудес не бывает. Нужно по шагам дебажить до локализации места, где падает
Gabit
:D давно не работал, только с отпуска оказывается на выходе не обрабатывает если проверка вернула ошибку
Николай
предчувствую спам
Javharbek
предчувствую спам
Если вы про меня я просто во все группу который есть программисты вдруг кто работал подскажыть.
Anonymous
Ребята, кто-нибудь работал с пакетом для меню https://github.com/lavary/laravel-menu? Как в нём разрулить роуты у которых есть параметры? add('За месяц', ['action' => 'CrmController@homeSalaryDate'])->nickname('salary.date'); Выдаёт Missing required parameters for [Route: crm.home.finance.salary.date] [URI: crm/home/finance/salary/{year}-{month}].
Yushkevich
обе системы обладают АПИ. Есть более экзотичные виды - каждая из систем обладает функционалом импорт / экспорт. Он не всегда решит все вопросы. АПИ почти всегда. Я помог тебе? :)
Javharbek
обе системы обладают АПИ. Есть более экзотичные виды - каждая из систем обладает функционалом импорт / экспорт. Он не всегда решит все вопросы. АПИ почти всегда. Я помог тебе? :)
Помог, нужно найти нужный класс и начать парсить все данные. Спасибо большое, мне уже так советовали только что убеждаюсь в надежности метода. Спасибо.
Yushkevich
ну у битрикса там порядка 5-6 классов за это отвечают. При этом есть еще старое апи и новое, на D7 :) Часть методов старого уже на работает, а новое еще не все покрывает. Ну и еще не все покрыто документацией / матами. Так что удачи :) Человек, знающий толк в БДСМ :)
Yushkevich
по опен карту не подскажу, но мне кажется, там схожая картина. "Красивого АПИ" рестового у битрикса точно нет.
Yushkevich
там может проще посмотреть через csv / xml
Yushkevich
БДСМ ? ) ну в некотором роде, да :) Погугли :)
Firdavs
лол
Юрий
так толсто что псц