mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-03 05:52:48 +08:00
Model类field方法更名为allowField,增加saveAll方法批量新增数据
改进一对一的关联新增
This commit is contained in:
@@ -411,13 +411,27 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存多个数据到当前数据对象
|
||||
* @access public
|
||||
* @param array $data 数据
|
||||
* @return integer
|
||||
*/
|
||||
public function saveAll($dataSet)
|
||||
{
|
||||
foreach ($dataSet as $data) {
|
||||
$result = $this->save($data);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置允许写入的字段
|
||||
* @access public
|
||||
* @param bool $update
|
||||
* @return $this
|
||||
*/
|
||||
public function field($field)
|
||||
public function allowField($field)
|
||||
{
|
||||
$this->field = $field;
|
||||
return $this;
|
||||
|
||||
@@ -73,6 +73,13 @@ class Relation
|
||||
case self::HAS_ONE:
|
||||
case self::BELONGS_TO:
|
||||
$result = $db->find();
|
||||
if (false === $result) {
|
||||
$class = $this->model;
|
||||
$result = new $class;
|
||||
$foreignKey = $this->foreignKey;
|
||||
$localKey = $this->localKey;
|
||||
$result->$foreignKey = $this->parent->$localKey;
|
||||
}
|
||||
break;
|
||||
case self::HAS_MANY:
|
||||
case self::BELONGS_TO_MANY:
|
||||
@@ -240,7 +247,7 @@ class Relation
|
||||
// 重新组装模型数据
|
||||
foreach ($result->toArray() as $key => $val) {
|
||||
if (strpos($key, '__')) {
|
||||
list($name, $attr) = explode('__', $key,2);
|
||||
list($name, $attr) = explode('__', $key, 2);
|
||||
if ($name == $modelName) {
|
||||
$list[$name][$attr] = $val;
|
||||
unset($result->$key);
|
||||
@@ -300,7 +307,7 @@ class Relation
|
||||
$pivot = [];
|
||||
foreach ($set->toArray() as $key => $val) {
|
||||
if (strpos($key, '__')) {
|
||||
list($name, $attr) = explode('__', $key,2);
|
||||
list($name, $attr) = explode('__', $key, 2);
|
||||
if ('pivot' == $name) {
|
||||
$pivot[$attr] = $val;
|
||||
unset($set->$key);
|
||||
|
||||
Reference in New Issue
Block a user