14-11-1395، 12:08 ب.ظ
عرض سلام
توی برنامه من کاربران می تونن بی نهایت مشتری به پنل خودشون اضافه کنند.نام های این مشتریان برای هر یوزر باید انحصاری باشه به این معنی که
در کل جدول مشتریان می تونیم نام تکراری داشته باشیم ولی این تکرار برای یک یوزر خاص مجاز نیست.
برای validate کردن هم اومدم یه تابع نوشتم
قطعا هنگام درج مشتری این تابع درست کار می کنه ولی هنگام آپدیت، همیشه نام مشتری رو تکراری تشخیص میده و اجازه آپدیت بدون تغییر نام رو نمیده
اول بفرمایید راه ساده تر یا تابعی برای این فراید وجود دارد یا خیر ، در صورتی هم که میشه از این روش استفاده کرد هنگام آپدیت چطور مشکل رو حل کنم؟
با تشکر
توی برنامه من کاربران می تونن بی نهایت مشتری به پنل خودشون اضافه کنند.نام های این مشتریان برای هر یوزر باید انحصاری باشه به این معنی که
در کل جدول مشتریان می تونیم نام تکراری داشته باشیم ولی این تکرار برای یک یوزر خاص مجاز نیست.
برای validate کردن هم اومدم یه تابع نوشتم
['name', 'validatemyname'] public function validatemyname($attribute, $params) { $identity = Yii::$app->user->identity; $login_id = $identity->id; $customer = (new yiidbQuery()) ->select(['id','name']) ->from('customer') ->where(['user_id'=>$login_id]) ->all(); $customer_temp=ArrayHelper::map($customer,'id','name'); if (in_array($this->$attribute, $customer_temp)) { $this->addError($attribute, 'BEFORE USED'); } }
قطعا هنگام درج مشتری این تابع درست کار می کنه ولی هنگام آپدیت، همیشه نام مشتری رو تکراری تشخیص میده و اجازه آپدیت بدون تغییر نام رو نمیده
اول بفرمایید راه ساده تر یا تابعی برای این فراید وجود دارد یا خیر ، در صورتی هم که میشه از این روش استفاده کرد هنگام آپدیت چطور مشکل رو حل کنم؟
با تشکر