PDA

View Full Version : حذف چند رکورد با اکشن delete



barname_newis
شنبه 13 اردیبهشت 1393, 01:52 صبح
سلام
یه سوال دارم
تو اکشن delete برای اینکه کاربر بتونه به جای "فقط یک id" ، آرایه ای از id ها (که کلید اصلی جدول هستن) رو حذف کنه باید در قسمت کوئری از چه دستوری استفاده کرد؟
من الان کد اکشن delete رو تغییر دادم و یک آرایه رو براش میفرستم ولی تو قسمت حذف از بانک مشکل دارم اگه بخوام یک foreach بزارم و رکورد ها رو حذف کنم که اصلا بهینه نیست درست میگم؟
ممنون میشم توضیح بدید

MMSHFE
شنبه 13 اردیبهشت 1393, 02:16 صبح
میتونید آرایه بدین. مثال:

Product::model()->deleteByPk(explode(',', $id));
توصیه میکنم مستندات سایت رسمی رو بخونید (لینک (http://www.yiiframework.com/doc/api/1.1/CActiveRecord#deleteByPk-detail)).

barname_newis
شنبه 13 اردیبهشت 1393, 12:54 عصر
ممنونم درست شد
یه سوال : من با ajax درخواست میفرستم که چند تا id به اکشن delete ارسال بشه با متد get . ولی الان وقتی کاربر دستی آدرس mysite/index.php/?r=admin/products/delete&id=5 رو تو مرورگر درخواست میده هم میتونه رکورد با آی دی 5 رو حذف کنه که من اصلا اینو نمیخوام
چطور میشه تو اکشن جلوی اینکار رو بگیرم؟

MMSHFE
شنبه 13 اردیبهشت 1393, 13:28 عصر
میتونید توی اکشن delete با Yii::app()->request->isAjaxRequest چک کنید درخواست مستقیم رو قبول نکنه.