duanla8800 2016-05-03 14:39
浏览 76
已采纳

Kohana ORM find_all pk()函数在PHP 5.6.21中返回NULL

I have following code it was working fine for years but since I upgraded to PHP 5.6.21 its return NULL.

$model = new Model_Status ();
$results = $model->find_all ();
foreach ( $results as $result ) {
   echo $result->pk ();
}

When I echo $result on server running PHP 5.6.20 row data from mysql is loaded in $_original_values, $_primary_key_value and $_changed is empty but in PHP 5.6.21 $_primary_key_value and $_original_values are empty and _changed has values of DB columns

echo Debug::vars($result)
//php 5.6.20
    protected _object => array(6) (
            "id" => string(1) "1"
            "name" => string(4) "Live"
            "code" => string(3) "401"
            "message" => string(12) "site is live"
            "created" => NULL
            "modified" => NULL
        )
        protected _changed => array(0) 
        protected _original_values => array(6) (
            "id" => string(1) "1"
            "name" => string(4) "Live"
            "code" => string(3) "401"
            "message" => string(12) "site is live"
            "created" => NULL
            "modified" => NULL
        )
//php 5.6.21
    protected _object => array(6) (
            "id" => string(1) "1"
            "name" => string(4) "Live"
            "code" => string(3) "401"
            "message" => string(12) "site is live"
            "created" => NULL
            "modified" => NULL
        )
        protected _changed =>  array(4) (
            "id" => string(2) "id"
            "name" => string(4) "name"
            "code" => string(2) "code"
            "message" => string(7) "message"
        )
        protected _original_values => array(0) 
  • 写回答

1条回答 默认 最新

  • douzhen1234 2016-05-06 21:59
    关注

    This issue was caused by a update in PHP 5.6.21, Its same behaviour in PHP 7.0.5 mysqli_fetch_object OR mysqli_result::fetch_object behaviour is change and its calling constructor before assigning values, So these values show up as changed values to a unloaded object in Kohana ORM.

    Here is link of Kohana ORM issue Here is link to PHP bug report

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法