اذهب إلى المحتوى
  • 0

عنوان السؤال: مشكلة 404 Not Found في توجيه الطريق في لارافيل

Hussein Kourani

السؤال

Route::get('show/{$id}' , function($id) {
    $post = DB::table('posts')->find($id);
    return view('posts.show' , compact('post'));
});

 file index 
<?php
foreach($posts as $post) :
?>
  <a class="btn btn-outline-danger" href="/show/<?php echo($post->id) ?>  ">
    {{$post->title}}
  </a>
     <?php echo($post->body) ?>
    <?php echo(Carbon\Carbon::parse($post->created_at)->diffForHumans())?>
      <br>
<?php endforeach ?>

what is the problem i can access show in link browser but it always gives me 404 error not found

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

حاول أن تحذف الاشارة / الموجودة قبل كلمة show في هذا السطر

<a class="btn btn-outline-danger" href="/show/<?php echo($post->id) ?>  ">
                                       ^^^

ثم جرب الامر مرة أخرى, اذا لم ينجح يمكنك تنفيذ الامر 

php artisan optimize:clear

ربما المشكلة في الذاكرة التخزينية المؤقتة الخاصة بالنظام

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

من خلال الكود، لاحظت أنه هناك مشكلة صغيرة في تعريف العنوان الذي يتم استخدامه في توجيه الطلبات. يجب أن يكون عنوان الطريق كما يلي:

Route::get('show/{id}', function($id) {
    $post = DB::table('posts')->find($id);
    return view('posts.show', compact('post'));
});

لاحظ أنني قمت بتغيير {$id} إلى {id} في تعريف الطريق، حيث يجب أن يكون لديك واحد فقط $ قبل اسم المتغير في الطريق.

تحتاج أيضًا إلى التأكد من وجود قيم في قاعدة البيانات تتطابق مع المعرّفات التي تحاول الوصول إليها في الرابط، فإذا كنت تحاول الوصول إلى /show/1، فيجب أن يكون هناك سجل في جدول "posts" يحمل معرّف 1.

تأكد من أن هناك سجلات موجودة في قاعدة البيانات وأن المعرّفات التي تحاول الوصول إليها تتطابق مع هذه السجلات، وأيضًا تنفيذ الأمر الذي أخبرك به محمد.

وإذا لم تكن هذه هي المشكلة، فيرجى تقديم المزيد من التفاصيل حول الخطوات التي قمت بها ورسالة الخطأ التي تحصل عليها.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

المشكلة تكمن في تعريف المسار (Route) في تطبيق Laravel الخاص بك.

في طريقة `Route::get()` ، تستخدم `show/{$id}` كمسار URI. ومع ذلك ، في الرابط في ملف الفهرس الخاص بك ، تستخدم `/show/<?php echo($post->id) ?>`. 

يجب أن يكون URI الصحيح هو `show/{id}` (دون علامة الدولار) ، والذي يتطابق مع المعلمة في وظيفة استدعاء المسار. 

هنا هو الكود المحدث لتعريف المسار الخاص بك:

Route::get('show/{id}', function($id) {
    $post = DB::table('posts')->find($id);
    return view('posts.show', compact('post'));
});

وهنا هو الرابط المحدث في ملف الفهرس الخاص بك:

<a class="btn btn-outline-danger" href="/show/<?php echo $post->id ?>">
    {{$post->title}}
</a>

تأكد من تفريغ الذاكرة المؤقتة عن طريق تشغيل `php artisan route:cache` بعد تحديث تعريف المسار.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...