اقا این تو activeform خاصیتی که dropdownهست یک ویژگی داره به نام prompt که یک رشته خالی بر میگردونه دستا بیس منم باید اینتیجر بگیره و به جای "" باید 0 بگیره این رو کاریش میشه کرد؟
اقا این تو activeform خاصیتی که dropdownهست یک ویژگی داره به نام prompt که یک رشته خالی بر میگردونه دستا بیس منم باید اینتیجر بگیره و به جای "" باید 0 بگیره این رو کاریش میشه کرد؟
سلام
در حقیقت وقتی چیزی انتخاب نشه خالی برمیگردونه نه رشته خالی، شما توی دیتابیست مقدار دیفالت رو برای این فیلد 0 در نظر بگیر تا زمانی که هیچی انتخاب نشد 0 ذخیره بشه اگر هم انتخاب بشه که مقدارش ذخیره میشه توی دیتابیس.
این کارو کردم ولی ارور میداد چون null که برای فیلد integer پاس بشه خوب معمولا ارور باید بده که داشت میداد منم به جای این کارا این کارو کردم با استفاده از befor save نوشتم در صضورتی که null پاس داده شده تو دیتا بیس صفر رو ذخیره کنه
سلام دوست عزیز
شاید بتونی با یه تابع تو مدلت این مشکل رو حل کنی :
public static function getZero($id=null)
{
if(is_null($id))
return 0;
else
return $id
}
بعد تو _form میتونی اینطوری فراخوانی کنی
<?= $form->field($model, 'myField')->textInput(\app\models\myModel::getZere()) ?>