将记录添加到数据透视表



我有3个表。

表用户

id 
name

表标识符

id 
email

和透视表标识符_用户

identifier_id
user_id  

何时存储数据I何时将数据添加到数据透视表,例如:

$user=new User ;
$iden=new Identifier ;

我使用$user->identifiers((->attach($user->id(,但它只是将数据添加到identifier_id,但我想将user_id的数据添加到

NB:我在的两个模型中建立了ManeytoManey的关系

首先:您不能像问题中那样完成任务,因为$user = new User;只创建默认的User类实例。

例如:如果你没有用户,你需要这样创建:

$user = User::create($userData);

但如果数据库中已经有用户:

$user = User::findOrFail($userId);$user = User::where(['some_field' => $some_value])->first();

之后,您可以附加关系:

$user->identifiers()->attach([$identifier_ids]);

如果你已经知道关系id,或者,如果你需要创建它:

$user->identifiers()->([ new Identifier($identifierDataArray), new Identifier($identifierDataArray), ]);

希望它能帮助你。

最新更新