Moloquent laravel hasOne 和 hasMany 不能在 ObjectId

问题描述

我在 Laravel MongoDB 应用程序中使用 jenssegers/laravel-mongodb 库。但是,hasOne 关系仅适用于字符串中的 foreignKey。如果它保存为 ObjectId 类型,则该关系给出一个空结果。

MongoDB 文档 user_profile

{
    "_id" : ObjectId("5c40307107928879107d8ee3"),"first_name" : "Alert","last_name" : "CB","speciality" : null,"company" : ObjectId("5b8cd8bc0176533ff65c4c62"),"platform_start_date" : "2019-01-17","updated_at" : ISODate("2019-01-17T13:40:37.000+05:30"),"created_at" : ISODate("2019-01-17T13:06:17.000+05:30")
}

公司文件

{
    "_id" : ObjectId("5b8cd8bc0176533ff65c4c62"),"name" : "ABCDEF","contact" : "Dani","notes" : "Test Note for builders....","updated_at" : ISODate("2018-09-03T12:16:20.000+05:30"),"created_at" : ISODate("2018-09-03T12:16:20.000+05:30")
}

在 UserProfile 模型中

class UserProfile extends Moloquent
{
public function companies() {
        return $this->hasOne('App\Models\Company','company','_id' );
    }

目前这个 companies() 给出空数组,如何解决这个问题并得到结果? 我正在使用 jenssegers/mongodb: 3.4.2

解决方法

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

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

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

相关问答

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