午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

新增

新增(zeng)數據(ju)有多種方(fang)式。

添加一條數據

第一種是實例化模型(xing)對象(xiang)后賦(fu)值并保存:

$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();

也可以使用data方法批量賦值:

$user = new User;
$user->data([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
$user->save();

或者直接在實(shi)例化的時候傳入數據

$user = new User([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
$user->save();

如果需要過(guo)濾(lv)非數(shu)據表字段的數(shu)據,可以使用:

$user = new User($_POST);
// 過濾post數(shu)組中的非(fei)數(shu)據(ju)(ju)表字(zi)段數(shu)據(ju)(ju)
$user->allowField(true)->save();

如(ru)果你通過(guo)外(wai)部提交賦(fu)值給模型,并且(qie)希(xi)望(wang)指定某些字段(duan)寫入,可以使(shi)用:

$user = new User($_POST);
// post數(shu)組(zu)中(zhong)只有name和email字段會寫入
$user->allowField(['name','email'])->save();

save方法新增(zeng)數(shu)據返回的是寫入的記(ji)錄數(shu)。

獲取自增ID

如果要獲取新增數(shu)據(ju)的自增ID,可以使用下面的方式:

$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
// 獲(huo)取自增ID
echo $user->id;

注意這里其實是獲取模型的主鍵,如果你的主鍵不是id,而是user_id的(de)話,其實獲取自(zi)增ID就(jiu)變成這樣:

$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
// 獲取自增ID
echo $user->user_id;

注意不要(yao)在同一個實例里面多次(ci)新增(zeng)數據,如果確實需要(yao)多次(ci)新增(zeng),那么可以用下面的方式:

$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
$user->name     = 'onethink';
$user->email    = 'onethink@qq.com';
// 第二次(ci)開始必須使用下面的方式新增
$user->isUpdate(false)->save();

添加多條數據

支持批量(liang)新增(zeng),可以使(shi)用:

$user = new User;
$list = [
    ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
    ['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);

saveAll方法(fa)新(xin)增(zeng)數據返回的(de)是包含新(xin)增(zeng)模型(帶(dai)自增(zeng)ID)的(de)數據集(數組(zu))。

V5.0.13+版本開始,saveAll方法的返回類型受模型的resultSetType屬性(xing)影響(可(ke)能返回數據集對象)。

saveAll方(fang)法(fa)新(xin)增數(shu)據默認(ren)會自動(dong)識(shi)別數(shu)據是需要(yao)新(xin)增還是更(geng)(geng)新(xin)操(cao)作(zuo),當數(shu)據中存在主鍵的時候會認(ren)為是更(geng)(geng)新(xin)操(cao)作(zuo),如果你需要(yao)帶主鍵數(shu)據批量(liang)新(xin)增,可以使用(yong)下面的方(fang)式(shi):

$user = new User;
$list = [
    ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
    ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com'],
];
$user->saveAll($list, false);

靜態方法

還可以直接靜態調用create方法創建并寫入:

$user = User::create([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
echo $user->name;
echo $user->email;
echo $user->id; // 獲取自(zi)增ID

和(he)save方法不同的是,create方法返回的是當前模型的對象實例。

助手函數

系統提供了(le)model助手函數(shu)用于快速實(shi)例化模型,并且使用單例實(shi)現,例如(ru):

// 使用(yong)model助手函數實例化User模型
$user = model('User');
// 模型(xing)對象賦值(zhi)
$user->data([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
$user->save();

或者進行批量新增:

$user = model('User');
// 批量新增
$list = [
    ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
    ['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);
文檔最后更新時間:2018-04-26 10:03:42

文檔
目錄

深色
 模(mo)式(shi) 

切換
寬(kuan)度