मुझे डीबी से डेटा हटाने में कोई समस्या नहीं है। मैं कुछ स्क्रैपिंग करता हूं। और डेटा को डीबी में सहेजना। मैं एक ही वेबसाइट को कई बार अपडेट के लिए परिमार्जन करता हूं। और डेटा पहले स्क्रैप किया गया। अब वेबसाइट में मौजूद नहीं है। फिर मैं उस डेटा की आईडी को डीबी से भी हटाना चाहता हूं।

foreach($planNames as $k => $names)
{
    $database = [];
    $database = [
        "plan_id" => $insertedPlaceId,
        "plan_name" => $names,
        "plan_price" => $planPrice[$k],
        "people" => $people[$k]
    ];

    if ($plan = Plan::where("plan_name", "=", $names)->first()) {
        if ($plan->plan_name != $database["plan_name"]) {
            $plan->id->delete();
            $this->line("Plan deleted.");
        }
    } else {
        Plan::insertGetId($database);
        $this->line("Plans inserted.");
    }
}

मुझे लगता है कि यह हिस्सा काफी काम नहीं कर रहा है $plan->id->delete();

0
Tay 27 अगस्त 2019, 03:46

1 उत्तर

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

$plan->id->delete() सही तरीका नहीं है, आप निम्न में से किसी एक का उपयोग कर सकते हैं:

मॉडल को हटाने के लिए, मॉडल इंस्टेंस पर डिलीट विधि को कॉल करें:

$plan = App\Plan::find(1);

$plan->delete();

Key . द्वारा मौजूदा मॉडल को हटाना

App\Plan::destroy(1);           -- Using id
App\Plan::destroy(1, 2, 3);     -- Using comma separated string
App\Plan::destroy([1, 2, 3]);   -- Using array

क्वेरी द्वारा मॉडल हटाएं

$deletedRows = App\Plan::where('active', 0)->delete();

संदर्भ: लारावेल - मॉडल को हटाना

अगर आप सॉफ़्टडिलेट का उपयोग कर रहे हैं तो लारावेल - सॉफ्ट डिलीट देखें।

2
Dark Knight 27 अगस्त 2019, 03:01