php - Yii 反序列化和 diff

标签 php mysql yii

我有一个问题,可能微不足道,但我无法处理它,因为我摆脱它仍然会出现任何错误类型:unserialize (): Error at offset 0 of 31 bytes

Controller :

public function actionHistory($id)
{
    $post=Mymodel::model()->findAll('id='.$id);




    if($post == null){
        $error = Yii::app()->errorHandler->error;
        if ($error)
            $this->render('error', array('error'=>$error));
        else
            throw new CHttpException(404, 'Page not found.');
    }


    $dataProvider=new CActiveDataProvider('Mymodel',array(
        'criteria'=>array(
            'condition'=>'id='.$id,
            'order'=>'id desc',
        )
    ));


    $this->render('history',array(
        'dataProvider'=>$dataProvider,
        'id'=>$id,

    ));
}

和我的 View 文件:

<div class="view" style="float: left; width:100%;">

    <b><?php echo CHtml::encode($data->getAttributeLabel('id')); ?>:</b>
    <?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>
    <br />
    <div id="old" style="width: 48%; margin: 1%; float: left; ">

        <b><?php echo CHtml::encode($data->getAttributeLabel('old')); ?>:</b>
        <div id="old" style="float: left; width:100%; background-color:rgba(248, 200, 178, 0.3)">

        <?php

        echo CHtml::encode($data->old);
        ?>
            </div>
        <br />
    </div>
    <div id="diff" style="width: 48%; margin: 1%; float: left; ">

        <b><?php echo CHtml::encode($data->getAttributeLabel('diff')); ?>:</b>
        <div id="diff" style="float: left; width:100%; background-color: rgba(210, 249, 244, 0.45);">

            <?php echo CHtml::encode($data->diff); ?>
        </div>
        <br />
    </div>

</div>

现在,$data->diff$data->Old 已添加到数据库中以帮助序列化,现在需要使用反序列化来显示数据,但当它尝试总是收到错误 unserialize (): Error at offset 0 of 31 bytes 或类似错误。

你能帮我一下吗? :)

最佳答案

首先在此处更改您的代码

 $post=Mymodel::model()->findAll(array("condition"=>"id = $id"));

或者您可以选择

$post=Mymodel::model()->findByPk($id);

仅当您的 ID 是数据库表中的主键时才执行此操作,否则请选择第一个。

然后您将得到正确的值。

关于php - Yii 反序列化和 diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27014015/

相关文章:

php - 创建图像的缩略图,然后将其保存到数据库中

Mysql触发器——捕获每一列的变化

mysql - 如何在 B 列中查找共享同一 A 列的 2 个值

php - Yii CUserIdentity 与用户模型

javascript - Kendo UI 登录功能

php - 如何实现巧妙的数组写入功能呢?

mysql - 如何更改MySQL结果的格式?

caching - Yii - 数据库依赖缓存是否可以跨多个操作工作?

php - 在 Yii 中验证并保存上传的 ajax 图像

php - Doctrine findBy where and order