saveall方法支持之前调用validate方法

This commit is contained in:
thinkphp
2016-08-20 15:32:05 +08:00
parent ea06c5da61
commit bf33e3175a

View File

@@ -744,9 +744,9 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
} }
foreach ($dataSet as $key => $data) { foreach ($dataSet as $key => $data) {
if (!empty($auto) && isset($data[$pk])) { if (!empty($auto) && isset($data[$pk])) {
$result[$key] = self::update($data); $result[$key] = self::update($data, [], $this->validate);
} else { } else {
$result[$key] = self::create($data); $result[$key] = self::create($data, $this->validate);
} }
} }
$db->commit(); $db->commit();
@@ -960,12 +960,13 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
* 写入数据 * 写入数据
* @access public * @access public
* @param array $data 数据数组 * @param array $data 数据数组
* @param mixed $validate 数据验证规则
* @return $this * @return $this
*/ */
public static function create($data = []) public static function create($data = [], $validate = null)
{ {
$model = new static(); $model = new static();
$model->isUpdate(false)->save($data, []); $model->validate($validate)->isUpdate(false)->save($data, []);
return $model; return $model;
} }
@@ -974,12 +975,13 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
* @access public * @access public
* @param array $data 数据数组 * @param array $data 数据数组
* @param array $where 更新条件 * @param array $where 更新条件
* @param mixed $validate 数据验证规则
* @return $this * @return $this
*/ */
public static function update($data = [], $where = []) public static function update($data = [], $where = [], $validate = null)
{ {
$model = new static(); $model = new static();
$model->isUpdate(true)->save($data, $where); $model->validate($validate)->isUpdate(true)->save($data, $where);
return $model; return $model;
} }