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

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题