gpt4 book ai didi

php - Laravel addOrUpdate() 基于相关表值?

转载 作者:行者123 更新时间:2023-11-29 05:57:20 27 4
gpt4 key购买 nike

下面是我正在尝试做的事情:

我有 users 表和 user_profiles 表,我在 users 中插入 nameemail 表和 phone, address, .... etcuser_profiles 表中。

我必须匹配每个值以防止重复用户,我发现了这个 laravel 方法 addOrUpdate() 但它只适用于一个表。但我也必须匹配 user_profiles 值,即 phone,address

下面是示例代码

                $result = $customer->updateOrCreate([
'name' => $request->name,
'city_id' => $request->city_id,
'area_id' => $request->area_id,
'email' => $request->email
], [
'name' => $request->name,
'city_id' => $request->city_id,
'area_id' => $request->area_id,
'email' => $request->email
]);

有什么方法可以使用 Laravel 技术实现这一点?

问候

最佳答案

首先与 useruser_profiles 模型建立一个关系——

public function userProfile()
{
return $this->hasOne('App\Model\UserProfile','user_id','id');
}

然后在您的 post controller 中,您希望匹配每个值以防止 duplication user-

$result = User::where('name',$request->name)->where('email',$request->email)
->whereHas('userProfile', function($q) use ($request){
$q->where('city_id'$request->city_id)->where('area_id',$request->area_id)

)->first();
if(!$result){
////your registration here
}

关于php - Laravel addOrUpdate() 基于相关表值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48201961/

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