m层:数据模型层(访问数据库表)
1.链接数据库
修改配置项:
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'shoujiwang', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => 'root', // 密码
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => 'shop_', // 数据库表前缀
验证是否链接成功:
$mob=new Model("news");
$arr=$mob->select();
数据模型类对象:
$mob=new Model("news");
$mob=M("news");
实例化自定义的数据模型类
class NewsModel extends Model{
//表名自动获取,表名=前缀_当前类名
//指定表名
protected $tableName="news1";//不带前缀
protected $trueTableName="shop_news1";//带前缀
function addNews(){
}
}
有一个表名是shop_news_type想要自动找表名,类名用大驼峰
class NewsTypeModel extends Model{}
获取最后执行的sql语句
$mob->getLastSql();
2.查 增 删 改
方法:
select();
query("sql语句");
where("条件");//返回的是当前对象
field("字段列表");
table("带前缀表名");
order("字段 desc|asc,...");
limit("开始位置,长度");
limit(开始位置,长度);
page(页码值,每页条数);
group("字段名称");//分组
having("条件");//筛选
union();
find("5,7");//根据主键id进行查询,单条记录返回一维数组
alias("主表起别名");
join(table2 as t2 on t1.字段=t2.字段);//表链接查询
count();
查询所有品牌数据,要求把品牌对于的分类名称获取出来
select b.bid,b.bname,t.tname from shop_brand as b join shop_type as t on b.tid=t.tid;