PDA

View Full Version : ارور create post (حل شد)



mah.tab
یک شنبه 04 خرداد 1393, 16:15 عصر
وقتی میخام یک پست ارسال کنم این میاد (create post)
خیلی سعی کردم این ارور رو بر طرف کنم نشد

CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

mah.tab
دوشنبه 05 خرداد 1393, 11:23 صبح
public function actionCreate()
{
$model=new Post;

// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);

if(isset($_POST['Post']))
{
$model->attributes=$_POST['Post'];
$model->date = new CDbExpression('NOW()');
if($model->save())
$this->redirect(array('view','id'=>$model->post_id));
}

$this->render('create',array(
'model'=>$model,
));
}

MMSHFE
دوشنبه 05 خرداد 1393, 11:25 صبح
خوب یکی از قیدهای شما رعایت نشده. ببینید کلیدهای خارجی که تعریف کردین چیاست. اگه Null نگذاشتین روی اون فیلد، باید حتماً مقدار داشته باشه. ضمناً مقدار هم باید حتماً توی جدولی که حاوی کلید اصلی هست، وجود داشته باشه.

mah.tab
دوشنبه 05 خرداد 1393, 11:31 صبح
نه اونش درسته,مشکله من مثل اینه ولی (http://stackoverflow.com/questions/9193825/cdbcommand-failed-error-in-mysql-after-insert) نمیدونم چطوری حلش کرده

MMSHFE
دوشنبه 05 خرداد 1393, 11:32 صبح
میتونید توی پیام خصوصی تیم ویور بدین؟ از روی خطا حدس میزنم مشکل همونیه که گفتم.

mah.tab
دوشنبه 05 خرداد 1393, 11:34 صبح
بله حتمن لطف میکنید, چند دقیقه فقط تیم ویور را نصب کنم

MMSHFE
دوشنبه 05 خرداد 1393, 15:03 عصر
مشکل حل شد. همون بود که حدس میزدم (فیلدی که کلید خارجی بود، مقدار نداشت و null بود و توی دیتابیس هم تیک Null زده نشده بود).