[right][font="Tahoma"]سلام
توی این تاپیک سوالاتی که واسه خودم پیش اومده(واس بعضی ها راه حل پیدا کردم که میگم ولی واس بقیه نیاز به کمک اساتید دارم)
رو می خوام از دوستان بپرسم ممنون میشم راهنمایی کنید
[right]
یه فیلدی دارم که می خوام داخلش تاریخ شمسی رو ذخیره کنم بخاطر همین نوع فیلد رو
varchar(10)
در نظر گرفتم ،تاریخ شمسی رو میتونم با این روشی که گفتید بگیرم یعنی داخل کانفیگ این رو اضافه کردم
[left]
'components'=>array(
'jdate' => array(
'class' => 'ext.jdate.JDateTime',
'convert' => true,
'jalali' => true,
'timezone' => 'Asia/Tehran',
),
[/left]
[indent][/indent]
حالا می خوام مثلا وقتی مدیر سایت داره خبر ثبت می کنه،این تاریخ پشت صحنه گرفته بشه و توی دیتابیس ذخیره بشه
فرض کنید اسم مدل و کنترل به ترتیب
[right]NewsModel و NewsController[/right]
من این کار رو با
hidden field
انجام دادم اما بدیش اینه که وقتی کاربر سورس رو بخواد ببینه این داخلش مشخص میشه و اینکه کاربر هم میتونه اینو تغییر بده و …
روش این کاری که انجام دادم هم اینه که توی
NewsController
اینو گذاشتم
[left]
public function actionCreate()
{
$model=new NewsModel;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['NewsModel']))
{
$model->attributes=$_POST['NewsModel'];
if($model->save())
$this->redirect(array('view','id'=>$model->news_id));
}
$model->news_dateinsert = Yii::app()->jdate->date("Y-m-d",time());
$this->render('create',array(
'model'=>$model,
));
}
}
[/left]
از
beforsave()
استفاده کردم ظاهرا جواب نداد
[left]
public function beforeSave(){
$this->news_dateinsert = Yii::app()->jdate->date("Y-m-d",time());//new CDbExpression('NOW()');
return parent::beforeSave();
}
[/left]
همین سوالو در مورد گرفتن شناسه این کاربری که داره خبر رو ثبت می کنه هم دارم
ممنون میشم جواب بدید
[/right]
[/font][/right]