或使用Laravel和jenssegers / laravel-mongodb返回空白的地方

问题描述

我将laravel 6.xx与jenssegers / laravel-mongodb一起使用。 以前,我使用MysqL,并且查询工作正常,没有任何问题。 当我使用laravel MongoDB时,以下查询返回空值。

$user_id = Auth::id();
        $data = Post::active()
            ->wheredoesntHave('PostBlock',function($qry) use ($user_id) {
                $qry->where('user_id',$user_id);
            })
            ->whereIn('Post_permission',['public','request'])
            ->orWhere(function($query) use ($user_id) {
                $query->where('Post_permission','private')
                    ->whereHas('PostAccess',function($qry) use ($user_id) {
                        $qry->where('user_id',$user_id);
                    });
            })
            ->get();

如果我注释掉了或在哪里然后工作。

            /*->orWhere(function($query) use ($user_id) {
                $query->where('Post_permission',$user_id);
                    });
            })*/

帖子集:

+------+-----------------+-----------+-----------------------+--------------------+
| id   |  post_name      |  status   |  post_permission      |     body           |
|      |                 |           |                       |                    |
+---------------------------------------------------------------------------------+
|  1   | public post     |           |     public            |     some text      |
|      |                 |     1     |                       |                    |
+---------------------------------------------------------------------------------+
|  2   | private post    |           |     private           |      some text     |
|      |                 |     1     |                       |                    |
+------+--------------------------------------------------------------------------+
|  3   need approval post|     1     |                       |      some text     |
|      |                 |           |      request          |                    |
+------+-----------------+-----------+-----------------------+---------------------

PostBlock集合:

|---------------------|------------------|
|      user_id        |     post_id      |
|---------------------|------------------|
|                     |                  |
|---------------------|------------------|

PostAccess收藏集(实际上是私人收藏集):

|---------------------|------------------|
|      user_id        |     post_id      |
|---------------------|------------------|
|                     |                  |
|---------------------|------------------|

PostRequest集合:

+---------------------+------------------+--------+
|      user_id        |     post_id      | status |
+-------------------------------------------------+
|                     |                  |        |
+---------------------+------------------+--------+

我的愿望结果将是:

如果用户ID在 PostBlock 集合中,则这些帖子将不显示用户
如果用户ID在 PostAccess 集合中,则私人帖子将显示用户

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...