I am running the following code,

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);

    }

I am am getting the following error when I try and sync $projects,

数组看起来像这样,

[0] => 6 so a very very simple array. My relationships in the models look like this,

Organisation

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

Projects

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');
}

instead of:

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

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

Laravel相关问答推荐

我是否需要/是否可以从控制器运行LARLAVEL备份?

用Laravel Filament创建变形组件

嵌套数组请求的 Laravel 验证,其中如果整数之一为零,则另一个应大于零

通过 laravel 中的 url 传递多个字符串作为参数以从数据库中删除特定数据

Laravel Eloquent:组合列(或自定义属性)上的 Where 子句

如何在数据来自Rest API的flutter中创建下拉类别名称列表?

在 laravel 中动态更改时区

如何在 Laravel 4 中使用没有 id 的 Eloquent 更新数据

如何在 laravel 中安装 PHPExcel 库?

在 VSCode 上调试 Laravel 应用程序

PHP 中的 Http 响应代码枚举

Laravel 中的合同和 PHP 中的接口有什么区别?

找不到列:1054字段列表中的未知列0-Laravel-我的代码中的任何地方都没有0列

将非框架 PHP 项目移植到 Laravel 4.x

如何更改 Handlebars.js 的默认分隔符?

如何从不是控制器方法的方法发送响应?

如何将对象(模型类型对象)插入到 Laravel 中特定索引号的集合对象中?

Laravel 迁移 - 删除列

搜索结果分页 laravel 5.3

Laravel 验证用户名不允许有空格