Thinkphp基础 – 数据库连贯操作

Thinkphp提供数据库连贯操作的组件,方便在进行增删改查时更清晰流畅。

查询条件 WHERE

通过 where() 方法可以对sql语句添加where条件

public function index(){
	$user = M("user");
	if(IS_GET){
		/*这段是不使用where方法的
		$username = I("username");
		$where = "username = '$username'";
		$data = $user->where($where)->select();
		*/
		$map = I();
		$map = array_filter($map);	//过滤值为空的数组
		$map['username'] = array('LIKE',"%{$map['username']}%");	//模糊匹配
		$data = $user->where($map)->select();
	}else{
		$data = $user->select();
	}
	$this->assign("users",$data);
	$this->display();
}

查询字段 field

通过 field() 方法可以对select查找的字段进行限制,同时也能对增加和修改数据时限制字段。

public function index(){
		$user = M("user");
		if(IS_GET){
			$map = I();
			$map = array_filter($map);	//过滤值为空的数组
			$map['username'] = array('LIKE',"%{$map['username']}%");	//模糊匹配
			$data = $user->where($map)->field("id,username,password,email")->select();
			//$data = $user->where($map)->field("id",true)->select();  //field方法设置true可以选择除了 id 以外的其他字段
		}
		$this->assign("users",$data);
		$this->display();
	}

排序 order

通过 order() 方法可以对查询结果进行排序

public function index(){
	$user = M("user");
	if(IS_GET){
		$map = I();
		$map = array_filter($map);	//过滤值为空的数组
		$map['username'] = array('LIKE',"%{$map['username']}%");	//模糊匹配
		$data = $user->where($map)->order("id DESC")->field("id,username,password,email")->select();
	}
	$this->assign("users",$data);
	$this->display();
}

多表查询 table

多表查询,可以使用 table() 方法

public function index(){
	$model = M();
	$data = $model->field("article.*,user.username")->table("tp_user user,cms_article article")->where("user.id=article.userId")->select();
	dump($data);
}

注意:使用 table 多表查询时表名要带上前缀,同时where条件至少有表的个数减一个

表关联 join

使用join()可以对两张表进行关联,LEFT JOIN 或 RIGHT JOIN

public function index(){
	$article = M("article");
	//$data = $article->join("tp_user ON tp_user.id = tp_article.userId")->field("tp_article.*,tp_user.username")->select();
	$data = $article->join("LEFT JOIN tp_user ON tp_user.id = tp_article.userId")->field("tp_article.*,tp_user.username")->select();
	dump($data);
}

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇