雄辩的ORM插入或更新

时间:2018-10-25 18:48:24

标签: php mysql eloquent

我正在使用Laravel框架的数据库组件进行项目。该库包括一个称为“ Capsule”的数据库抽象层(DBAL)和一个名为“ Eloquent”的对象关系映射(ORM)库。

我想更新数据库中的扩展名,但是如果它们不存在,我还想插入一个新的“扩展名”。最好的方法是什么?

到目前为止,我的代码:

try {
    $updatedDomainsCount = Capsule::table('tbldomainpricing')
        ->where('extension', $tld)
        ->update(
            [
                'extension' => $tld,
                'autoreg' => 'domenytv',
                'grace_period' => '15',

                 'idprotection' => $idp,
                  'grace_period_fee' => $rea_price,
            ]
        );

    echo "Updated {$updatedDomainsCount} TLD: $tld</br>";
} catch (\Exception $e) {
    echo "I couldn't update domains tld. {$e->getMessage()}";
}   

1 个答案:

答案 0 :(得分:3)

使用口才的ORM方法:updateOrCreate,用于创建新记录或更新现有记录。

Eloquent documentation