💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Ali Naseri
تغییر روش تایید و رد دیدگاه
کیوان علی محمدی حل شده توسط کیوان علی محمدی

سلام بنده روش تایید یا رد دیدگاه‌ها رو به روش زیر تغییر دادم

لطفا مشکلاتی که امکان داره این روش بوجود بیاره رو اعلام کنید 

۱- router:

router.get('/status/:id', commentsController.changeStatus);

۲- commentsController:

exports.changeStatus = async function(req, res){
    const commentId = req.params.id;
    const setStatus = req.query.status;
    if(setStatus in commentStatuses){
        const status = commentStatuses[`${setStatus}`];
        const result = await commentsModel.update(commentId, {status});
        if(result){
            req.flash('success', `دیدگاه مورد نظر با موفقیت تایید / رد شد.`);
        }
        else{
            req.flash('errors', ['خطایی در هنگام تایید / رد  دیدگاه رخ داد !']);
        }
    }
    res.redirect('/admin/comments');
}

۳- commentStatuses:

module.exports = {
    reject: 0,
    approved: 1
}

۴- model:

exports.update = async function(commentId, data){
    const [result] = await db.query('UPDATE comments SET ? WHERE id = ? LIMIT 1', [data, commentId]);
    return result.affectedRows > 0;
}

در ضمن بنده گزینه " review " رو حذف کردم

و اگه این آدرس رو وارد کنیم دیدگاه تایید میشه:

http://localhost:۸۰۰۰/admin/comments/status/۱?status=approved

و با این آدرس رد:

http://localhost:۸۰۰۰/admin/comments/status/۱?status=reject

سلام خدمت شما. روش شما هم خوبه و مشکلی نداره.

بهترین پاسخ
کیوان علی محمدی ۰۳ تیر ۱۳۹۹، ۰۸:۴۱