how to show new added columns in database in yii framework?

前提是你 提交于 2019-12-24 05:43:13

问题


i added two new columns in my db table, and then i defined these new columns in the table model itself, and then, when i called

$model->getAttributes()

the two new columns didn't appear in the array output of $model->getAttributes() method call

there's no schema caching set in my configs, any idea how to solve this?, and how am I gonna get the value of the input forms of the new added columns from the front-end if i have a problem in showing off the two newly added columns ?

e.g

new columns INHOUSE OUTHOUSE

//view

 <?php echo $form->checkBox($model,'INHOUSE',array("id"=>"inhouse","value"=>1, "uncheckValue"=>0));?>
 <?php echo $form->checkBox($model,'OUTHOUSE',array("id"=>"outhouse","value"=>1, "uncheckValue"=>0));?>

//controller update action

i tried to save the value of the INHOUSE and OUTHOUSE didn't get saved when i do

$model->attributes = $_POST['users'];
$model->save();

NOR

$model->INHOUSE = $_POST['users']['INHOUSE'];
$model->OUTHOUSE = $_POST['users']['OUTHOUSE'];
$model->save;

any ideas how to solve all those problems?


回答1:


1-Can you insert data directly into your DB on those columns? 2-Can you view those columns on the admin view or on any other view? 3-Can you retrieve those values using a getColumn method?

If not, try this:

Make sure that you have the new columns specified in your model and view

Model_Name.php

public function attributeLabels()
{
    return array(
        'id' => 'ID', // example
        'new_column' => 'New Column',
        ...
    );
}

You should also check from TOP to bottom and as a good practice you should also type this on the top of the model

 * @property integer $id //example
 * @property data_type $new_column
...

Then to view your new columns you need to add them to the necessary views.

example

VIEW.PHP

$this->widget('zii.widgets.CDetailView', array(
    'data'=>$model,
    'attributes'=>array(
         'id',
         'new_column',
          ...

If you have your model with all these definitions you should be able to retrieve those values from the DB, re-check any custom functions that you may have.




回答2:


Please goto to : protected/runtime folder and delete all files. And try again.



来源:https://stackoverflow.com/questions/13041262/how-to-show-new-added-columns-in-database-in-yii-framework

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!