1

DBからデータを選択すると、zendに問題があります。私のクエリでは、別のテーブルと結合するテーブルから列を選択したくありません。3番目のパラメーターでarray()を使用します。しかし、私がこれを行うとき:

$sql = $db->select();
    $sql->from( "message", "message.message_id" )

        ->->join("network_users","message.network_id = network_users.network_id and message.user_id = network_users.user_id","network_users.network_id") //no get column
        ->join("users","message.user_id = users.user_id",array()) //no get column
        ->where( "message.network_id = :network_id" )
        ->where( "message.del_flg = 0" )
        ->where( "network_users.del_flg = 0" )
        ->where( "users.del_flg = 0" )
        ->order( "message.regist_date DESC" );

 $ary[':network_id']   = $network_id;
 $ret = $db->fetchAll($sql, $ary);

return empty($ret[0]["user_id"]) ? array():$ret;

私はいつも結果が得られますarray(0) {}

各テーブルに少なくとも1つの列を取得すると、正しい結果に応答します。

私の問題について何か考えはありますか????

助けてくれてありがとう。

4

2 に答える 2

3

nullの代わりに使用array()

したがって、次のようになります。 ->join("users","message.user_id = users.user_id",null)

于 2012-06-12T15:14:24.690 に答える
0

私は問題を見つけました、問題は私がreturn empty($ret[0]["user_id"]) ? array():$ret;代わりに使用したことですreturn empty($ret[0]["message_id"]) ? array():$ret;

それが私がいつも受け取る理由ですarray(0) {}

手伝ってくれてありがとう。^ _ ^

于 2012-06-13T01:54:54.587 に答える