简体   繁体   English

Zend选择没有get列的DB

[英]Zend select DB with no get column

I have a problem with zend when I select data from DB. 当我从DB中选择数据时,我遇到了zend的问题。 In my query I don't want select any column from table that I join with another table. 在我的查询中,我不希望从我加入另一个表的表中选择任何列。 I use array() in third parameter. 我在第三个参数中使用array()。 But when I do this: 但是当我这样做时:

$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;

I always get result is array(0) {} 我总是得到结果是array(0) {}

When I get least one column in each table, it response correct result. 当我在每个表中得到至少一列时,它会响应正确的结果。

Any idea for my problem???? 任何想法我的问题????

Thanks for any help. 谢谢你的帮助。

Use null instead of array() 使用null而不是array()

So it would look like this: ->join("users","message.user_id = users.user_id",null) 所以它看起来像这样: ->join("users","message.user_id = users.user_id",null)

I found the problem, problem is I used return empty($ret[0]["user_id"]) ? array():$ret; 我发现问题,问题是我使用return empty($ret[0]["user_id"]) ? array():$ret; return empty($ret[0]["user_id"]) ? array():$ret; instead of return empty($ret[0]["message_id"]) ? array():$ret; 而不是return empty($ret[0]["message_id"]) ? array():$ret; return empty($ret[0]["message_id"]) ? array():$ret; .

That is reason I always receive array(0) {} . 这就是我总是收到array(0) {}

Thanks for help. 感谢帮助。 ^_^ ^ _ ^

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM