如何在Laravel中使用Attach方法使用关系

时间:2018-12-19 09:20:35

标签: php laravel laravel-5

users

id int(10)
name varchar(255)
p_id int(10)

some_record
id int(10)
text varchar(35)


record_relation
some_record_id int(10)
user_id int (10)
or_id int(10)
dr_id int(10)

要清楚使用attach方法的关系,希望它们将some_record数据存储在record_relation内。怎么可能的请指导

在some_record模型内部

public function RecordRelation() {
        return $this->belongsToMany('App\Record', 'pivot_table');
    }

1 个答案:

答案 0 :(得分:0)

查看以下文档页面:Working with Pivot tablesInserting related models

要将数据保存在数据透视表中:

摘自文档:

$user->roles()->attach($id, ['expires' => $expires]);

您的情况将变成如下所示:

$user->pivot_table()->attach($some_record_id, ['or_id' => 123, 'dr_id' => 456]);

要更新数据透视:

摘自文档:

User::find(1)->roles()->updateExistingPivot($roleId, $attributes);

您的情况将变成如下所示:

$user->pivot_table()->updateExistingPivot($some_record_id, ['or_id' => 888, 'dr_id' => 999]);

希望有帮助。