Laravel 和 jenssegers mongodb 关系数据未保存

Laravel and jenssegers mongodb relationship data not saving

我在 Laravel

中有 2 个 class
class Company
{
  public function people()
  {
     return $this->hasMany('Person');
  }
}

class Person 
{
  public function company()
  {
    return $this->belongsTo('Company');
  }
}

现在在另一个 class 中,我正在创建一个人对象并使用定义的变量 $companyId 设置 company_id。

$person = new Person;
$person->company_id = $companyId; //Code not executing after it.
$person->save();

当我在 $person 中设置 $companyId 时,它只是在递归调用中,永远不会返回。

我也试过这段代码,但还是不行,它卡在某个地方,永远无法保存。

$company = Company::find($companyId);
$person = new Person;
$company->people()->save($person); // Never execute this

请提供一些线索,我做错了什么,我用谷歌搜索了这个但没有找到解决这个问题的方法。

此应用程序是在 laravel 4.2 中创建和维护的,它在那里工作正常,但在将其升级到 laravel 5.7 时,这里出现了问题。

谢谢

您可以试试下面的代码吗?它可能适合您。

请在您的代码中添加这样的关系。

class Company
{
  public function people()
  {
     return $this->hasMany('App\Person');
  }
}

class Person 
{
  public function company()
  {
    return $this->belongsTo('App\Company');
  }
}

并尝试在此处保存这样的 Person 对象我不知道 person 的字段 table 所以为了演示,我使用了一个名称,因此请根据您的要求替换它。

$comment = new App\Person(['name' => 'test']);

$company= App\Company::find(1);

$company->people()->save($person);