gpt4 book ai didi

php - 如果记录存在则 Laravel 更新或如果不存在则创建

转载 作者:行者123 更新时间:2023-12-03 11:22:36 25 4
gpt4 key购买 nike

我想更新我的记录(如果存在),但如果不存在则创建新记录。这是我到目前为止:

 MerchantBranch.php
public function token()
{
return $this->hasOne('App\MerchantBranchToken');
}

MerchantBranchToken.php
public function merchant_branch()
{
return $this->belongsTo('App\MerchantBranch');
}

$find = MerchantBranchToken::find($id);

if (!$find) {
$branch = new MerchantBranchToken(['token' => $token]);
MerchantBranch::find($id)->token()->save($branch);
} else {
$find->token = $token;
$find->save();
}

它工作得很好。

但据我所知,Laravel 的 Eloquent 模型非常强大。
我可以缩短它吗?还是我已经做对了?

我试过使用“updateOrCreate”方法,但我的外键“merchant_branch_id”需要可填充。

最佳答案

Laravel 提供方法 updateOrCreate为了这个目的

  • 如果有从奥克兰飞往圣地亚哥的航类,请将价格设置为 99 美元。
  • 如果不存在匹配的模型,则创建一个。

  • $flight = App\Flight::updateOrCreate(
    ['departure' => 'Oakland', 'destination' => 'San Diego'],
    ['price' => 99]
    );

    关于php - 如果记录存在则 Laravel 更新或如果不存在则创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139076/

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