## 添加一條數據
第一種是實例化模型對象后賦值并保存:
~~~
$user = new UserModel;
$user->user_nickname = '老貓';
$user->user_email = 'genmaowan@163.com';
$user->save();
~~~
也可以使用data方法批量賦值:
~~~
$user = new UserModel;
$user->data([
'user_nickname' => '老貓',
'user_email' => 'genmaowan@163.com'
]);
$user->save();
~~~
或者直接在實例化的時候傳入數據
~~~
$user = new UserModel([
'user_nickname' => '老貓',
'user_email' => 'genmaowan@163.com'
]);
$user->save();
~~~
如果需要過濾非數據表字段的數據,可以使用:
~~~
$user = new UserModel($_POST);
// 過濾post數組中的非數據表字段數據
$user->allowField(true)->save();
~~~
如果你通過外部提交賦值給模型,并且希望指定某些字段寫入,可以使用:
~~~
$user = new UserModel($_POST);
// post數組中只有user_nickname和email字段會寫入
$user->allowField(['user_nickname', 'user_email'])->save();
~~~
save方法新增數據返回的是寫入的記錄數。
## 獲取自增ID
如果要獲取新增數據的自增ID,可以使用下面的方式:
~~~
$user = new UserModel;
$user->user_nickname = '老貓';
$user->user_email = 'genmaowan@163.com';
$user->save();
// 獲取自增ID
echo $user->id;
~~~
> 注意這里其實是獲取模型的主鍵,如果你的主鍵不是id,而是user\_id的話,其實獲取自增ID就變成這樣:
~~~
$user = new UserModel;
$user->user_nickname = '老貓';
$user->user_email = 'genmaowan@163.com';
$user->save();
// 獲取自增ID
echo $user->user_id;
~~~
> 注意不要在同一個實例里面多次新增數據,如果確實需要多次新增,那么可以用下面的方式:
~~~
$user = new UserModel;
$user->user_nickname = '老貓';
$user->user_email = 'genmaowan@163.com';
$user->save();
$user->user_nickname = '老貓666';
$user->user_email = 'genmaowan666@163.com';
// 第二次開始必須使用下面的方式新增
$user->isUpdate(false)->save();
~~~
## 添加多條數據
支持批量新增,可以使用:
~~~
$user = new UserModel;
$users = [
['user_nickname' => '老貓', 'user_email' => 'genmaowan@163.com'],
['user_nickname' => '老貓666', 'user_email' => 'genmaowan@163.com666']
];
$user->saveAll($users);
~~~
saveAll方法新增數據返回的是包含新增模型(帶自增ID)的數據集(數組)。
saveAll方法新增數據默認會自動識別數據是需要新增還是更新操作,當數據中存在主鍵的時候會認為是更新操作,如果你需要帶主鍵數據批量新增,可以使用下面的方式:
~~~
$user = new UserModel;
$users = [
['id' => 1, 'user_nickname' => '老貓', 'user_email' => 'genmaowan@163.com'],
['id' => 2, 'user_nickname' => '老貓666', 'user_email' => 'genmaowan666@163.com'],
];
$user->saveAll($users, false);
~~~
## 靜態方法
還可以直接靜態調用create方法創建并寫入:
~~~
$user = UserModel::create([
'user_nickname' => '老貓',
'user_email' => 'genmaowan@163.com'
]);
echo $user->user_nickname;
echo $user->user_email;
echo $user->id; // 獲取自增ID
~~~
- 序言
- 基礎
- 功能介紹
- 目錄結構
- 正版申明
- 安裝教程
- 狀態參數
- 第三方接口
- 店鋪狀態
- 控制器
- 控制器定義
- 控制器模板賦值
- 控制器模板渲染
- 前臺控制器
- 前臺用戶控制器
- 后臺控制器
- 跳轉,AJAX返回和重定向
- URL生成
- 請求
- 請求信息
- 輸入變量
- 請求類型
- 獲取請求頭信息
- 偽靜態
- 更多
- 系統函數
- user_info 用戶數據信息
- add_payment 創建支付訂單
- 系統預覽
- 前臺預覽
- 后臺預覽
- 數據庫
- 數據庫配置
- 添加數據
- 更新數據
- 查詢數據
- 刪除數據
- 事務操作
- 更多數據庫操作
- 模型
- 模型定義
- 添加數據
- 更新數據
- 查詢數據
- 刪除數據
- API
- 站點接口
- 滾動幻燈
- 商品列表
- 商品信息
- 購買商品
- 用戶接口
- 個人信息
- 用戶登錄
- 用戶注冊
- 用戶退出
- 充值接口
- 在線充值
- 支付回調
- 訂單接口
- 訂單列表
- 其他接口
- 規范
- 狀態碼說明
- 版本號
- API路由
- 模板標簽
- 模板常量
- 普通標簽
- 變量輸出
- 系統變量
- 請求參數
- 使用函數
- 使用默認值
- 使用運算符
- 三元運算
- 原樣輸出
- 模板注釋
- 模板目錄
- 包含文件
- 模板布局
- 系統標簽
- 全局標簽
- 源碼標簽
- 服務標簽
- 網站標簽
- 域名標簽
- 任務標簽
- 需求標簽
- 推廣標簽
- 菜單標簽
- 內置標簽
- 循環輸出標簽
- 比較標簽
- 條件判斷
- 標簽嵌套
- 原生PHP
- 定義標簽
- 專題
- 緩存
- Session
- Cookie
- 分頁
- 驗證碼
- 文件上傳
- 第三方擴展
- Swoole
- 擴展插件
- 社會化登錄