Я пытаюсь изменить путь к узлу при перемещении узлов в дереве страниц для динамических URL-адресов.Для этого я использую рабочие места Laravel, эти рабочие места должны обновлять путь / слаг в моей базе данных при перемещении узла.Для вложенного набора и движущейся части я использую пакет lazychaser/laravel-nestedset
.
Проблема заключается в том, что при использовании $page->save()
в моем UpdatePagePath.php происходит сбой всего приложения,поэтому я должен запускать команду "php artisan serve"
каждый раз, когда я перемещаю узел, и путь / слаг не меняется.Laravel также не показывает журналы этой ошибки.
Кто-нибудь знает, какая здесь может быть ошибка?
AppServiceProvider: Здесь я ищу, если моя модель страницы быласохранен и если "parent_id"
был изменен:
public function boot()
{
Page::saved(function ($page) {
if ($page->isDirty('parent_id')) {
dispatch(new \App\Jobs\UpdatePagePath($page));
}
});
}
Задание: UpdatePagePath
namespace App\Jobs;
use App\Page;
class UpdatePagePath extends Job
{
private $page;
public function __construct(Page $page)
{
$this->page = $page;
}
public function handle()
{
$this->updatePaths($this->page);
}
private function updatePaths(Page $page)
{
$page->path = $page->getPath();
$page->save(); // ERROR -> Laravel serve crashes
if ($page->fresh()) {
dispatch(new UpdateChildPagePaths($page));
}
}
}