我想知道在使用Laravel 5.5和模型之前,如果只更新一栏statut。
感兴趣的是,如果没有更改,则仅更新状态,或者,如果要更新某些列,则创建新行。因为每个修改都需要在发布前得到批准。
实际上,我有很多,如:
if($request->statut != $product->statut && $request->title == $product ...)
有最快的方法吗?
谢谢。
答案 0 :(得分:1)
您可以使用isDirty('field')
方法来检查字段是否已更改(尚未保存)。 getDirty()
将为您返回所有此类字段及其值的数组。
如果我正确理解了您的情况,那么您可以这样做:
if ($product->isDirty('statut')) {
if (count($product->getDirty()) == 1) {
...
}
}
首先,我们检查您的statut
的字段$product
是否已更改。然后,我们只需检查已更改字段的数量是否为1(这意味着除了statut
之外没有其他已更改字段)。