أعد توجيه المستخدمين بعد إرسال النماذج أو الإجراءات في Livewire v4.
طرق إعادة التوجيه الأساسية
class CreatePost extends Component
{
public string $title = '';
public string $content = '';
public function save(): void
{
$post = Post::create([
'title' => $this->title,
'content' => $this->content,
]);
// إعادة توجيه بسيطة لـ URL
$this->redirect('/posts');
// إعادة توجيه بتنقل SPA (بدون إعادة تحميل كاملة)
$this->redirect('/posts', navigate: true);
// إعادة توجيه لمسار مسمى
$this->redirectRoute('posts.index');
// إعادة توجيه لمسار مع معاملات
$this->redirectRoute('posts.show', ['post' => $post->id]);
// إعادة توجيه للـ URL المقصود (بعد تسجيل الدخول)
$this->redirectIntended(default: '/dashboard');
}
}إعادة التوجيه مع رسالة Flash
public function save(): void
{
Post::create($this->only(['title', 'content']));
session()->flash('success', 'تم إنشاء المنشور بنجاح!');
$this->redirect('/posts', navigate: true);
}
// أو استخدم إعادة التوجيه مع مساعد الجلسة
public function delete(Post $post): void
{
$post->delete();
return $this->redirectRoute('posts.index')
->with('message', 'تم حذف المنشور!');
}إعادة توجيه مشروطة
public function submit(): void
{
$this->validate();
$user = User::create($this->form);
if ($user->isAdmin()) {
$this->redirectRoute('admin.dashboard');
} else {
$this->redirectRoute('user.dashboard');
}
}