0

WordpressデータベースからCodeigniterプロジェクトにデータを転送しようとしています。単一の値を返すモデルメソッドがありますが、次のようになります。

メッセージ:未定義のインデックス:meta_value

ファイル名:models / transfer_model.php

モデルは次のとおりです。

 public function get_meta($post_id, $key)
    {
        $this->db->select('meta_value');
        $this->db->from('wp_postmeta');
        $this->db->where('post_id', $post_id);
        $this->db->where('meta_key', $key);
        $this->db->limit(1);

        $query = $this->db->get();

        $row = $query->row_array();

        return $row['meta_value'];
    }

print_r($row);の場合、次のようになります。

Array
(
    [meta_value] => The Data
)

このエラーが返されないようにするにはどうすればよいですか?

4

2 に答える 2

0

フェッチされたレコードがある場合、クエリでフェッチされたレコードがない場合は、この使用を回避するために行が空であることを意味するものは何もありません。key_existsまたはarray_key_existsがphpdocを参照しています

array_key_exists

public function get_meta($post_id, $key)
    {
        $this->db->select('meta_value');
        $this->db->from('wp_postmeta');
        $this->db->where('post_id', $post_id);
        $this->db->where('meta_key', $key);
        $this->db->limit(1);

        $query = $this->db->get();

        $row = $query->row_array();

        $return = '';
        if(key_exists('meta_value',$row))
         $return = $row['meta_value'];

        return $return;
    }
于 2012-09-11T18:54:57.557 に答える
0

整数インデックスを使用するとどうなりますか?

$row = $query->row_array();
return $row[0];
于 2012-09-11T21:54:31.003 に答える