Blogger Information
Blog 250
fans 3
comment 0
visits 321057
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Thinkphp5 模型和关联
梁凯达的博客
Original
1178 people have browsed it

模型是一种对象-关系映射的封装,一般来说,每一个数据表会和一个模型对应
模型类和DB类最主要的区别在于对对象的封装
DB类返回的是一个数组或集合
模型类返回的是当前的模型对象实例,相比之下模型更高级
模型支持模型关联,模型事件
-
Moder模型和表映射规则
User => tp_users
UserLevel => tp_user_level
表名绑定类名
规则为:自动消除tp前缀,驼峰式命名
比如:tp_user_larvel(这是一张表)
则TP忽略类名为UserLarvel(U和L大写)
-
设置数据表
protected $name = ‘admin’;
设置完全的数据表
protected $table = ‘tp_account_log’;
-
方法:
1.在mvc结构下的morder类下新建一个以表名为文件名的类文件
2.命名空间:namespace app\index\morder
3.使用Moder类:use think\Model;
4.开始编写一个类:
Class User extends Model
{
proteced $name = ‘amdin’;//设置表名
proteced $table = ‘tp_account_log’;

}
5.在控制器层中调用,比如Index.php中
use app\index\model\User;
6.调用完毕之后,就可以开始使用模型方法
class User
{
public function Index()
{
//插入的第一种方法
$user = new Users;
$user->email = ‘1226404260@qq,com’;
$user->mobile = ‘135364541111’;
$user->save();//保存执行操作
//插入的第二种方法:用数组的方式插入
$userArr[‘email’]= ‘1226404260@qq,com’;
$userArr[‘mobile’] = ‘123456789’;
User::create($userArr)
//静态方法 create()用于插入数据,内部填写为一个数组

}
}
7.如何操作批量新增:
$user = new User; //先实例化类
$list = [
[‘email’ => ‘zhangsan@qq.com’,’moble’ => ‘123456789’]//第一条
[‘email’ => ‘lisi@qq.com’,’,moble’=>’654321’]//第二条
];
if($user = saveALL($list)){
echo ‘用户批量新增成功’;
}
8.如何查询记录
$user = User::get(1);
echo $user->mobile;
eecho $user->email;
或使用数组访问形式:
echo $user[‘mobile’];//这种方法和 $user->mobile;方法是一致的
9.使用函数+字段名方式获取查询某个数据,例如:
$user = User::getBy+字段名,完整如下
$user = User::getByMobile(‘123456’)
10.如果查询的不是主键,则使用数组方式进行查询
$user = User::get[‘mobile’=>’13536454104’,‘email’=>’1226404260@qq.com’];
11.也可以使用where()方式进行查询,比如
$user = User::where(‘mobile’,’13536454104’)->find();
12.查询多个数据,使用all()方法。例如:
$user = User::all();//查询出全部数据
$user = User::all(‘id’=>’4’)//指定ID为4的条件查询
13.isupdate(),函数为判断是否为更新操作
14.update()方法,固定定义成为就是修改方法,比如:
$userArr[‘mobile’] = ‘123456’;
$userArr[‘email’] = ‘122@qq.com’;
User::update($userArr,[‘user_id’,’1’]);
15.删除操作,del(); 例如:
$user = User::get(23);//获取到id为23的数据
$user->del();
或者使用更简单更便利的destroy(135)//删除指定ID,无须实例化,具体用法如下:
User::destory(21);//删除User表中的ID(主键)为21的数据
destory()方法在删除之前会先查询值在不在,在的话再进行删除
16.

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!