我有三张桌子。
表用户
id
name
表标识符
id
email
和枢轴表identifier_user
identifier_id
user_id
当存储数据时,我将数据添加到透视表中,例如:
$user=new User ;
$iden=new Identifier ;
我使用$user->->attach()标识符($user->id),但是这个用户只将数据添加到identifier_id
,但我想将数据添加到user_id
中。
NB:我在这两种模型中做了关系ManeytoManey
发布于 2020-04-20 10:18:32
首先:您不能像前面提到的那样执行任务,因为$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]);
如果您已经知道关系ids,或者,如果您需要创建它:
$user->identifiers()->([ new Identifier($identifierDataArray), new Identifier($identifierDataArray), ]);
希望它能帮到你。
https://stackoverflow.com/questions/61329060
复制