1.模型定义
<?php
namespace app\model;
use think\Model;
class User extends Model
{
protected static function init()
{
echo '初始化User模型';
}
}
DataModel 控制器
<?php
namespace app\controller;
use app\model\User;
class DataModel
{
public function index()
{
User::select();
}
}
2.模型的新增和删除
新增数据
public function modelSave()
{
$user = new User();
//新增方式1 ->save();
// $user->username = '李白';
// $user->password = '123456';
// $user->gender = '男';
// $user->email = 'libai@163.com';
// $user->price = 8594.5;
// $user->details = 'hahaha';
// $user->uid = 1011;
// $user->save();
// echo $user->id;
//新增方式2 也可以通过 save()传递数据数组的方式,来新增数据
// $user->replace()->save([
// 'username'=>'杜甫',
// 'password'=>'123111',
// 'gender'=>'男',
// 'email'=>'dufu@163.com',
// 'price'=>100,
// 'details'=>'789465',
// 'uid'=>111
// ]);
//允许要写入的字段,其它字段就无法写入了
//$user->allowField(['username','email','password','details'])->save();
//新增方式3 saveAll 批量新增
// $dataAll = [
// [ 'username' => '李白1', 'password' => '123', 'gender' => '男', 'email' => 'libai@163.com', 'price' => 100, 'details' => '123', 'uid' => 1011 ],
// [ 'username' => '李白2', 'password' => '123', 'gender' => '男', 'email' => 'libai@163.com', 'price' => 100, 'details' => '123', 'uid' => 1011 ]
// ];
// $user->saveAll($dataAll);
//
// //使用::create()静态方法,来创建要新增的数据;
// //参数 1 是新增数据数组,必选
// //参数 2 是允许写入的字段,可选
// //参数 3 为是否 replace 写入,默认 false 为 Insert 写入
// $user = User::create(
// [ 'username' => '李白', 'password' => '123', 'gender' => '男', 'email' => 'libai@163.com', 'price' => 100, 'details' => '123', 'uid' => 1011 ],
// ['username', 'password', 'details'], false);
}
删除数据
public function delete()
{
$user = User::find(309);
$user->delete();
User::destroy(308);
User::where('id','>',100)->delete();
User::destroy(function ($query){
$query->where('id','>',100);
});
}
3.模型数据更新
public function update()
{
$user = User::find(251);
$user->username = '李黑';
$user->save();
$user = User::where('username', '李黑')->find();
$user->username = '李白';
$user->email = 'libai@163.com';
$user->save();
$user->force()->save();
$user->allowField(['username','email'])->save();
$user = new User();
$list = [ ['id'=>118, 'username'=>'李白', 'email'=>'libai@163.com'], ['id'=>128, 'username'=>'李白', 'email'=>'libai@163.com'], ['id'=>129, 'username'=>'李白', 'email'=>'libai@163.com'] ];
$user->saveAll($list);
User::update(
['id' => 118, 'username' => '李黑']
);
User::update([ 'username' => '李黑', 'email' => 'lihei@163.com' ],['id'=>118]);
User::update([
'username' => '李黑', 'email' => 'lihei@163.com'
], ['id'=>118], ['username']);
}
4.模型数据查询
public function getData()
{
$user = User::find(129);
return json($user);
$user = User::where('username','李黑')->find();
return json($user);
$user = UserModel::findOrEmpty(1111);
if ($user->isEmpty()) { echo '空模型,无数据!'; }
$user = User::select([19,20,21]);
foreach ($user as $item) {
echo $item->username;
}
$user = User::where('status', 1)
->limit(5)
->order('id', 'desc')
->select();
User::where('id', 79)->value('username');
User::whereIn('id',[79,118,128])->column('username','id');
UserModel::getByUsername('辉夜');
UserModel::getByEmail('huiye@163.com');
User::max('price');
User::chunk(5, function ($users)
{
foreach($users as $user) {
echo $user->username;
}
echo '<br>------<br>';
});
foreach (User::where('status', 1)->cursor() as $user) {
echo $user->username; echo '<br>------<br>';
}
}