Vic*_*tor 1 php laravel eloquent laravel-5
让我们来看看这个示例代码:
$activity = new Activity(...);
$company->activities()->save($activity);
dd($company->activities);
Run Code Online (Sandbox Code Playgroud)
此代码在控制器方法中.
如果我运行此代码,我会得到[]一个输出.如果我再次运行它,我将获得以前保存的活动.如果我再次运行它,我将获得2(而不是3)活动等.
所以看起来laravel在调用save方法时没有保存关系.我也尝试过使用类似$company->push()但没有成功的东西.
如果您之前加载了activities关系(通过急切加载或仅通过访问它)并且它被缓存在模型中,就会发生这种情况.
您可以通过load()预先调用来获取更新的集合:
$company->activities()->save($activity);
$company->load('activities');
dd($company->activities);
Run Code Online (Sandbox Code Playgroud)