dongqing904999 2014-10-07 11:58
浏览 91

如何在yii中获取表字段?

I am working on a new controller for user role.

When i called $user = new User(); for user table than form fields value display

<?php
    public function actionCreate()
        {
            $request = Yii::app()->request;
            $notify = Yii::app()->notify;
            $user = new User();

            if ($request->isPostRequest && ($attributes = (array)$request->getPost($user->modelName, array()))) {
                $user->attributes = $attributes;
                if (!$user->save()) {
                    $notify->addError(Yii::t('app', 'Your form has a few errors, please fix them and try again!'));
                } else {
                    $notify->addSuccess(Yii::t('app', 'Your form has been successfully saved!'));
                }

                Yii::app()->hooks->doAction('controller_action_save_data', $collection = new CAttributeCollection(array(
                    'controller' => $this,
                    'success'    => $notify->hasSuccess,
                    'user'       => $user,
                )));

                if ($collection->success) {
                    $this->redirect(array('users/index'));
                }
            }

            $this->setData(array(
                'pageMetaTitle'     => $this->data->pageMetaTitle . ' | '. Yii::t('users', 'Create new user'), 
                'pageHeading'       => Yii::t('users', 'Create new user'),
                'pageBreadcrumbs'   => array(
                    Yii::t('users', 'Users') => $this->createUrl('users/index'),
                    Yii::t('app', 'Create new'),
                )
            ));

            $this->render('form', compact('user'));
        }
        ?>

display form

 <?php echo $form->labelEx($user , 'first_name');?>
    <?php echo $form->textField($user , 'first_name', $role->getHtmlOptions('first_name')); ?>
    <?php echo $form->error($user , 'first_name');?>

But when i $role = new role(); for user role table getting error

 <?php
    public function actionCreate()
    {
        $request = Yii::app()->request;
        $notify = Yii::app()->notify;
        $role = new Role();



        if ($request->isPostRequest && ($attributes = (array)$request->getPost($role->modelName, array()))) {
            $role->attributes = $attributes;
            if (!$role->save()) {
                $notify->addError(Yii::t('app', 'Your form has a few errors, please fix them and try again!'));
            } else {
                $notify->addSuccess(Yii::t('app', 'Your form has been successfully saved!'));
            }

            Yii::app()->hooks->doAction('controller_action_save_data', $collection = new CAttributeCollection(array(
                'controller' => $this,
                'success'    => $notify->hasSuccess,
                'user'       => $user,
            )));

            if ($collection->success) {
                $this->redirect(array('users_role/index'));
            }
        }

        $this->setData(array(
            'pageMetaTitle'     => $this->data->pageMetaTitle . ' | '. Yii::t('roles', 'Create new role'), 
            'pageHeading'       => Yii::t('roles', 'Create new role'),
            'pageBreadcrumbs'   => array(
                Yii::t('roles', 'Roles') => $this->createUrl('users_role/index'),
                Yii::t('app', 'Create new role'),
            )
        ));

        $this->render('form', compact('role'));
    }
?>

Not display form

 <?php echo $form->labelEx($role, 'role_name');?>
    <?php echo $form->textField($role, 'role_name', $role->getHtmlOptions('role_name')); ?>
    <?php echo $form->error($role, 'role_name');?>

Plz help me..

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算
    • ¥15 java如何提取出pdf里的文字?