gpt4 book ai didi

php - Laravel 同步错误

转载 作者:可可西里 更新时间:2023-10-31 22:10:53 25 4
gpt4 key购买 nike

我正在运行以下代码,

if( $organisation->save() ) {

if(isset($members)) {
$organisation->users()->sync($members);
}

if(isset($teams)) {
$organisation->teams()->sync($teams);
}

if(isset($teams)) {
$organisation->clients()->sync($clients);
}

if(isset($projects)) {
$organisation->projects()->sync($projects);
}

$organisation->load('users');
$organisation->load('teams');
$organisation->load('clients');
$organisation->load('projects');

return Response::make($organisation, 200);

}

当我尝试同步 $projects 时出现以下错误,

数组看起来像这样,

[0] => 6 一个非常非常简单的数组。我在模型中的关系是这样的,

组织

public function projects()
{
return $this->hasMany('Project');
}

项目

public function organisations()
{
return $this->belongsToMany('Organisation', 'organisation_id');
}

如您所见,一个组织可以有很多项目。我看不出出现以下错误的原因,

Call to undefined method Illuminate\Database\Query\Builder::sync()

最佳答案

因为这两个函数都是多对多的关系,所以你需要使用belongsToMany,所以你应该使用:

public function projects()
{
return $this->belongsToMany('Project');
}

代替:

public function projects()
{
return $this->hasMany('Project');
}

sync() 仅适用于多对多关系

关于php - Laravel 同步错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26528387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com