2019-02-23 12:00:54 2047次浏览 1条回答 0 悬赏 20 金钱
//此句无效,我想要按照MongoDB的_id检索记录,如何实现,谢谢!
$query->andFilterWhere(['like', '_id', $this->_id])
    ->andFilterWhere(['=', 'is_active', $is_active]);
return $dataProvider;
  • 回答于 2019-02-25 11:26 举报

    请参考:

    $query = new Query();
    $query->select(['newsurl'])
    ->from('newsinfo')
    ->where(['newstypeid'=>$cate_id,'del'=>'0'])
    ->offset($size)
    ->limit($pageSize)
    ->orderBy(['newsid'=>SORT_DESC]);
    $rows = $query->all();
    

    这是我用的从mongo获取数据的

    3 条回复
    回复于 2019-02-25 11:35 回复

    你说的这个写法我知道的,我的问题意思是:我想在GridView中获取根据_id检索的记录,我使用的是modelSearch,

    $query->andFilterWhere(['like', '_id', $this->_id])
    

    这种写法实现不了,因为_id是个对象,不知道你有没有更好的处理方法,谢谢!

    回复于 2019-02-28 17:42 回复


    use MongoDB\BSON\ObjectId;
    ...
    $query->andFilterWhere(['like', '_id', new ObjectId($this->_id)])

    回复于 2019-03-07 08:34 回复

    你说的这个方法可行,谢谢!请你单独回复一下这个问题,我把分给你。

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
阿江
副董事长

阿江

注册时间:2015-10-18
最后登录:2024-03-03
在线时长:186小时21分
  • 粉丝94
  • 金钱16816
  • 威望160
  • 积分20276

热门问题