آفلاین
user-avatar

مشکل ایجاد دکمه حذف سوال

2 سال پیش
توسط پایان جهان آپدیت شد
آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

درود دوستان...
برای ایجاد دکمه حذف سوال چکار باید کرد؟ طبق کد زیر نوشتم کار نکرد...

public function destroy($id)
    {
        $discuss = Discuss::find($id);
        $discuss -> delete();

        return redirect() -> route('discuss.show' , $discuss -> id) -> withMessage('سوال شما با موفقیت حذف شد');
    }

کد دکمه :

<a href="{{ route('discuss.destroy' , $discuss -> id) }}" class="badge badge-danger com"><i class="fa fa-trash" aria-hidden="true"></i> حذف سوال</a>

ممنون میشم جواب بدید

بهترین پاسخ انتخاب شده توسط پایان جهان
آفلاین
user-avatar
پایان جهان
2 سال پیش

مشکل حل شد ممنون از دوستان...

با حذف نوشته به صفحه اصلی منتقل و پیام حذف نوشته را نمایش میدهد:

return redirect('/')->withMessage('سوال شما با موفقیت حذف شد');
آفلاین
user-avatar
سیدعلی موسوی ( 107738 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

سلام کنترلر و تگ اچ تی ام اوکیه فقط یک روت کم دارید

در فایل web.php

Route::get('/discuss/{id}', 'DiscussController@destroy'

روت رو مرتبط میکنی با کنترلر همین

آفلاین
user-avatar
developer ( 33462 تجربه )
2 سال پیش
تخصص : برنامه نویس
        <a href="{{ route('discuss.destroy' ,['id'=>$discuss -> id]) }}" class="badge badge-danger com"><i class="fa fa-trash" aria-hidden="true"></i> حذف سوال</a>

@swordart2050

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@juza666
درود...
درسته روت رو یادم رفت بنویسم..
اما با ایجاد روت بازم دکمه کار نمی کنه...

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@alirezasafdari

بازم کار نکرد دوست عزیز

آفلاین
user-avatar
developer ( 33462 تجربه )
2 سال پیش
تخصص : برنامه نویس

یک dd بگیرید ببینید $discuss چیزی رو برمیگردونه؟
کلاس discuss رو فراخونی کردید؟

@swordart2050

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@alirezasafdari
ببخشید کد dd چی بود؟

کلاس discuss فراخوانی شده چون چنین خطایی ندیدم!

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

این کد امتحان کردم کار نکرد

{{ Form::open(
                        [
                          'route' => ['discuss.destroy', $discuss->id], 
                          'class' => 'pull-right'
                        ]
                      ) }}
                      {{ Form::hidden('_method', 'DELETE') }}
                      {{ Form::submit('Delete this Tip', 
                        [
                          'class' => 'btn btn-warning'
                        ]
                      )}}
                      {{ Form::close() }}
آفلاین
user-avatar
سیدعلی موسوی ( 107738 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

سلام

میشه کدهای روت، کنترلر و فرم تون رو قرار بدید

با dd($discuss); در فاکشن مورد نظرتون چک کنید ببینید ایدی رو برمیگردونه یا نه!

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@juza666

Discuss {#509 ▼
  #connection: "mysql"
  #table: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: true
  +wasRecentlyCreated: false
  #attributes: array:5 [▶]
  #original: array:5 [▶]
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #hidden: []
  #visible: []
  #fillable: []
  #guarded: array:1 [▶]
}
Route::get('/discuss/destroy/{id}', 'DiscussController@destroy')->name('discuss.destroy');
آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

این route که قرار دادم توی حذف سوال عمل کرد ولی خطا دریافت می کنم.

Route::get('/discuss/destroy/{id}', 'DiscussController@destroy')->name('discuss.destroy');

خطا:

ErrorException (E_ERROR)
Trying to get property 'title' of non-object (View: C:\xampp\htdocs\discuss\resources\views\discuss\show.blade.php)
آفلاین
user-avatar
سیدعلی موسوی ( 107738 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

سلام روت رو اینجوری تغییر بدید

Route::get('/discuss/{id}', 'DiscussController@destroy')->name('discuss.destroy');
آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@juza666

تغییر دادم کار نکرد...
فقط اون روتی که من قرار دادم کار می کنه...

آفلاین
user-avatar
سیدعلی موسوی ( 107738 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

یکاری کن

روت رو اینجوری بنویس، نامش رو بردار

Route::get('/discuss/destroy/{id}', 'DiscussController@destroy')

لینک دکمه حذف اینجوری

<a href="/discuss/destroy/{{$discuss->id}}" class="badge badge-danger com"><i class="fa fa-trash" aria-hidden="true"></i> حذف سوال</a>
آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@juza666

این مورد کار کرد ولی خطا میده:

Trying to get property 'title' of non-object (View: C:\xampp\htdocs\discuss\resources\views\discuss\show.blade.php)
آفلاین
user-avatar
سیدعلی موسوی ( 107738 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

این خطا میگه ابجکت title نیست
ویو رو چک کن ببین title چی برمیگردونه برش دار تست کن، و چک کن ببین موردت حذف شده یایت نه

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@juza666
بر می دارم یه خطای دیگه میده میگه id نیست...

نمی دونم کجا مشکل داره

آفلاین
user-avatar
سیدعلی موسوی ( 107738 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

کدهای ویو رو بذارید

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@juza666

@extends('layouts.app')

@section('content')
<div class="row">
    <div class="col-md-8">
        @include('discuss.include.flash')
        <div class="card">
            <div class="row">
                <div class="col-md-9">
                    <div class="titles">
                        {{ $discuss -> title }}
                    </div>
                </div>
                <div class="col-md-3 text-center">
                    <a href="{{ route('discuss.edit' , $discuss -> id) }}" class="badge badge-secondary ed"><i class="fa fa-pencil" aria-hidden="true"></i> ویرایش سوال</a>
                </div>
            </div>
            <hr class="md-4">
            <div class="card-body">
                {{ $discuss -> post }}
            </div>
            <div class="col-md-12">
                <span class="badge badge-info"> ۱۰ پاسخ</span>
                <span class="badge badge-info"> ۱۰ پاسخ</span>
                <span class="badge badge-info"> ۱۰ پاسخ</span>

            </div>
            <hr class="md-4">
            <div class="row">
                <div class="col-md-3">
                    <figure class="img">
                        <img src="{{ asset('img/1.jpg') }}" alt=""> رایموند دارگون
                    </figure>
                </div>
                <div class="col-md-5">
                    <h6>سوال شده 5 ساعت قبل در  کیف پول.</h6>
                </div>
                <div class="col-md-4 float-left">
                    <a href="/discuss/destroy/{{$discuss->id}}" class="badge badge-danger com"><i class="fa fa-trash" aria-hidden="true"></i> حذف سوال</a>
                    <span class="badge badge-danger com"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> گزارش</span>
                    <span class="badge badge-info com"><i class="fa fa-comments" aria-hidden="true"></i> ۱۰ پاسخ</span>
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-4">2</div>
</div>
@endsection
آفلاین
user-avatar
سیدعلی موسوی ( 107738 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

خب وقتی دکمه حذف میزنی بک لینک میشی به این صفحه؟!
اگر اره چون رکوردت حذف میشه پس طبیعتاً ایتمی وجود نداره که بخواد تویی متغییر قرار بگیره و خطا میده.

آفلاین
user-avatar
پایان جهان ( 108715 تجربه )
2 سال پیش
تخصص : جوجه برنامه نویس وردپرس و لاراول

@juza666

آره دیگه
راه حل مشکل چیه؟ عجیب خطا میده

برای ارسال پاسخ باید وارد سایت شوید