मैं स्टेटस अपडेट करने की कोशिश कर रहा हूं। यदि स्थिति 0 है, तो क्लिक करने पर इसे 1 पर अपडेट करना होगा, लेकिन यदि स्थिति क्लिक करने पर 1 है, तो इसे 0 पर अपडेट करना होगा।

मेरा नियंत्रक

public function status(Course $course)
{
    if ($course->status == 0) {
        $course->update(['status' => '1']);
        return redirect('/profile')->with('statusOn', 'status on!');
    } else {
       $course->update(['status' => '0']);
       return redirect('/profile')->with('statusOff', 'status off!');
    }
}

मार्ग

Route::post('/course/status/{course}', [CourseManagementController::class, 'status']);

ब्लेड

  <form method="POST" action="/course/status/{{$c->id}}">
                            @csrf
                            @if($c->status == 0)
                            <button type="submit" class="btn btn-success">active</button>
                            @else
                            <button type="submit" class="btn btn-danger">deactive</button>
                            @endif
                        </form>
-1
Pis-Nanc 7 जिंदा 2022, 14:51
1
ठीक है... और समस्या क्या है? जब आप इस कोड का परीक्षण करते हैं तो क्या होता है, और आपको किसके लिए सहायता चाहिए?
 – 
IMSoP
7 जिंदा 2022, 14:57
यह प्रोफाइल पेज पर रीडायरेक्ट कर रहा है लेकिन स्थिति नहीं बदलती है इसलिए मुझे यह समझने की जरूरत है कि मैं क्या गलत कर रहा हूं?
 – 
Pis-Nanc
7 जिंदा 2022, 14:58
क्या आप सुनिश्चित हैं कि विधि निष्पादित हो रही है? यदि आप इसमें डीडी($कोर्स) करते हैं तो आप डीडी देखते हैं?
 – 
Jack
7 जिंदा 2022, 14:59
मुझे आपके रूप में ऐसा कुछ भी नहीं दिख रहा है जिससे स्थिति बदल जाए। आपके द्वारा दिखाए गए बटन, जबकि उनके अलग-अलग रंग और टेक्स्ट हो सकते हैं, कार्यात्मक रूप से समान हैं। आपको उन पर एक मान डालना होगा जिसे आप नियंत्रक फ़ंक्शन में पढ़ सकते हैं, यह देखने के लिए कि सक्रिय या निष्क्रिय बटन दबाया गया था या नहीं।
 – 
ADyson
7 जिंदा 2022, 15:03
1
मैं देखता हूँ, धन्यवाद। मेरे द्वारा उपयोग किए गए अन्य एमवीसी ढांचे में कुछ ऐसा नहीं आया है, मेरे अनुभव में आपको ऐसा करने के लिए एक्शन फ़ंक्शन में कुछ विशिष्ट लिखना होगा। अन्यथा यह केवल फॉर्म से पोस्ट किए गए डेटा से मॉडल को पॉप्युलेट करेगा। वह उपयोगी जानकारी है, धन्यवाद। अब मुझे लगता है कि परिणामस्वरूप मैं नीचे दिए गए स्वीकृत उत्तर को समझता हूं।
 – 
ADyson
7 जिंदा 2022, 15:47

1 उत्तर

सबसे बढ़िया उत्तर

हाय वहाँ कृपया डीबग करें!

public function status(Course $course)
{
    dump($course); // the data is okay or not

    if ($course->status == 0) {
        $status = $course->update(['status' => '1']);

        dd($status); // check the update status

        // return redirect('/profile')->with('statusOn', 'status on!');
    } else {
        $status = $course->update(['status' => '0']);

        dd($status); // check the update status

        // return redirect('/profile')->with('statusOff', 'status off!');
    }
}

यदि सब कुछ ठीक लगता है, तो कृपया अपनी Course कक्षा के fillable चर की जांच करें, status fillable सरणी में गायब हो सकता है

2
abSiddique 7 जिंदा 2022, 15:08
उत्तर के लिए धन्यवाद। योग्य हाँ यह मूर्खतापूर्ण गलती थी। मैं भरने योग्य सरणी में स्थिति भूल गया)
 – 
Pis-Nanc
7 जिंदा 2022, 15:12
जानकर बहुत अच्छा लगा, यह मददगार है, वोट करना न भूलें :)
 – 
abSiddique
7 जिंदा 2022, 15:16