मेरे पास एक तिथि कॉलम है जो आम तौर पर dd.MM.yyyy
के रूप में मान लेता है।मैं वाईआई में एनयूएलएल की तारीख कैसे सेट कर सकता हूं?
array('start, end', 'date', 'format' => 'dd.MM.yyyy'),
मैं एक CSV फ़ाइल से डेटाबेस को आबाद करने कर रहा हूँ, और मैं NULL
लिए तिथि निर्धारित करने में सक्षम होना चाहते हैं (यानी कुछ भी नहीं) यदि सीएसवी रिकॉर्ड: मॉडल का rules()
में इसके सत्यापन नियम यह है खाली है। तो, मैं कर रहा हूं:
if (empty($csv_data)) {
$user->start = new CDbExpression('NULL');
} else {
$user->start = $csv_data;
}
लेकिन मुझे एक त्रुटि मिलती है कि दिनांक प्रारूप अमान्य है। ऐसा क्यों है?
CDateValidator
documentation कहता है कि allowEmpty
संपत्ति डिफ़ॉल्ट रूप से सत्य है, इसलिए इसे NULL
पर सेट करने में सक्षम होना चाहिए, है ना? ध्यान दें कि अगर मैं तारीख को ""
स्ट्रिंग का आकलन कर रहा हूं, तो यह इसे 0000-00-00 00:00:00
टाइमस्टैम्प में परिवर्तित कर देगा, जो NULL
नहीं है।
https://github.com/yiisoft/yii/issues/2056 – dInGd0nG
मैं वाईआई पर एक विशेषज्ञ नहीं हूं लेकिन दस्तावेज़ों को देखकर आप इस विधि का उपयोग करके इसके आसपास काम कर सकते हैं यह जांचने के लिए कि क्या मूल्य isnull() है? http://www.yiiframework.com/doc/api/1.1/CValidator#except-detail – Jason
@ dInGd0nG दिलचस्प, जो असफलता बताता है, धन्यवाद। – slhck