think-orm icon indicating copy to clipboard operation
think-orm copied to clipboard

Model::update()不返回是否操作成功,真的是蛋疼。

Open ichynul opened this issue 4 years ago • 1 comments

https://github.com/top-think/think-orm/blob/1af5d8d82a6a928ba19ea3dba70fd0cf7f2129ac/src/Model.php#L880

实在想不通,返回$model本身的意义何在。链式操作吗,但我还真没用过这个链式操作。

Model::where($where)->update($date)->dowhat();?; 即使真有这种需求,赋值到一个变量就行了。

$model = new Model;
$model->where($where)->update($data);
$model->dowhat();

相反的,用模型更新的时候,为了知道操作是否成功,不得不写很多代码。

$model = new Model;
$res = $model->isUpdate(true, $where)->save($data);

再简便点,但总觉得有点怪怪的。

$res = (new Model)->isUpdate(true, $where)->save($data);

1.Model::where($where)->update($data)->dowhat();

2.$model = Model::where($where)->update($data); $model->dowhat();

谁能举个栗子,讲一下什么情况会用到这两种用法?

ichynul avatar Jul 23 '21 02:07 ichynul

是不是觉得很奇葩,我也是觉得,从来没见过一个orm是这样返回数据的,也从来没见过框架会忽略这么多错误的处理的

AnkoGo123 avatar Nov 07 '22 00:11 AnkoGo123