我想更新我的记录(如果存在),但如果不存在则创建新记录。这是我到目前为止:
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为了这个目的
$flight = App\Flight::updateOrCreate(
['departure' => 'Oakland', 'destination' => 'San Diego'],
['price' => 99]
);
关于php - 如果记录存在则 Laravel 更新或如果不存在则创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139076/