0

我在 Laravel 有 2 节课

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

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

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

$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 时,这里出现了问题。

谢谢

4

1 回答 1

1

你可以试试下面的代码可能对你有用。

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

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

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

并尝试像这样保存 Person 对象,我不知道 person 表的字段,所以对于演示,我使用了一个名称,所以根据您的要求替换它。

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

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

$company->people()->save($person);
于 2019-03-20T14:29:34.973 回答