Если так проверять, то я буду дублировать роутинг и в компонентах, которые про роуты вообще ничего знать не должны по-хорошему, поэтому сейчас и сделано через отдельный reducer
Станислав Почепко: Проблемы начинаются когда нужно задать параметры для запроса. Т.е. не просто статичный роут - /cities, /counties и т.д., а /users/{user} или параметризированный роут...
Максим: Да, api. Но мне необходимо знать на фронтенде, на какой, допустим, url посылать запрос о создании коментраия или добавления лайка к посту. На бекенде это будет зарегистрированно через POST на /posts/{post}/comment, но я хочу чтобы и reducer знал на какой url посылать этот запрос.
Виктор: В таком случае, нужно либо обрезать коллекцию, либо делать запросы не через lazy-load. По-другому eloquent не умеет, я удалю это из ответа. Насколько я знаю, через sql запрос сделать это очень сложно, и подсказать в запросе я не смогу. Прошу прощения.
Давид: они одинаковы, за исключением того, что первый использует магический _get и сначала проверяет наличие свойства непосредственно в самом объекте $request, затем, если не нашел ничего, будет вызван метод $request->route() с переданным параметром. Если вы хотите искать именно среди параметров роута используйте тот метод, который написан сейчас. Также, учитывайте, что если у вас есть bind на ключ модели, или вы используете DI в методе контроллера, чтобы он сразу находил модель и подставлял ее, то в $request->route()->parameter('id') будет уже готовая модель.
В laravel нельзя зарегистрировать несколько абстрактных наследников. Каким образом я могу сделать так, чтобы Auth::user() видел не только методы App\User, но и App\Company\User и App\Library\User ?
Сергей Протько: Все заработало, спасибо! Только вот вопрос - мне пришлось добавить одно и то же поле типа модели в таблицу пользователей, этого, как я понимаю, избежать мне не получится?
Владимир Грабко: в данном случае да, видимо проблема в дебаге, но у ларавел есть такая проблема - при 500 ошибке не показывается 500 страница, определенная в стандартной views/errors директории. Для этого необходимо править метод
Flawming: Смотрите. Когда вы вешаете событие на тот элемент, которого не существует, он естественно не будет реагировать, так как в момент загрузки dom дерева (document ready) этого элемента просто напросто нет на странице. Вы можете заменить document ready событие тем, что перенесете все скрипты в футер страницы. Когда вы вешаете событие таким образом - $(parent).on(event, child, callback) вы сообщаете скрипту, что при совершении какого-то действия с родительским элементом (в случае моего ответа это весь документ, можно заменить на 'body', например, или на любой элемент, который гарантированно будет являться родителем элемента, который будет загружен на страницу ajax-ом) произойдет событие (event) из которого скрипт получает currentTarget или target. Так как вы передаете вторым параметром события дочерний элемент, то jquery будет пытаться найти target, на котором конкретно произошло действие, и когда он дойдет до переданного вами элемента он вызовет callback функцию. Немного непонятно с первого раза может показаться, но почитайте вот этот раздел https://learn.javascript.ru/event-delegation, там автор это объясняет на нативном js и расставляет все по полкам с примерами.
Flawming: document ready дает понять, что скрипт должен исполнится после того, как отрендерилось dom дерево. Повесьте клик на кнопку по примеру в ответе и посмотрите результат