>  기사  >  백엔드 개발  >  ThinkPHP와 PHP는 몇 가지 쿼리 팁을 공유합니다.

ThinkPHP와 PHP는 몇 가지 쿼리 팁을 공유합니다.

小云云
小云云원래의
2018-03-09 15:06:531163검색

이 기사에서는 주로 ThinkPHP 및 PHP의 몇 가지 쿼리 팁을 공유합니다. 도움이 되기를 바랍니다.

1 4: 일반적으로 사용되는 기능

$goodsNum = $cartlistM->field('*,a.id as cid')->join('Goods as b on a.goods_id = b.id')->where(array('a.id' =>$_POST['cartID'] ))->find();

5: ThinkPHP 트랜잭션 처리 예제://Open 트랜잭션 처리 로컬 데이터

M('propertytake')->group('batchnum')->where($w)->select();

6: json 구문 분석 json_decode(); json 암호화 json_encode(value); (상속 클래스)

foreach ($propertyArr as $key=>$val)
 { $w['mid'] = $this->mid; $w['property_id'] = $val['id']; //查询期数是否已领满9年
 $hasGetYear = count(M('propertytake')->group('batchnum')->where($w)->select());//查询当前资产在本期已收成的消耗资源数量
 $w['batchnum'] = $setBatch; $temp_num = M('propertytake')->where($w)->sum('nums'); if(empty($temp_num))
 { $temp_num = 0;
 }if ($hasGetYear >= $goodsArr[&#39;getmaxnum&#39;]||$temp_num>=$val[&#39;totaltree&#39;]||$val[&#39;totaltree&#39;]<=0) { unset($propertyArr[$key]); }else { $treeNum += $val[&#39;totaltree&#39;]; } }

8: 쿼리 메소드 필터 query

a)fmod() 函数返回除法的浮点数余数。 
b)unset($saveData);销毁数组
c)strtotime(date(&#39;Y&#39;).&#39;-01-01&#39;);把时间变为时间戳的函数 
d)isMobile();判断当前用户是否手机
e)array_push($arr,$val);//$arr被添加的数组,$val为添加的值

9: thinkPHP가 필드 값을 늘리거나 줄입니다.

M()->startTrans(); //提交
 M()->commit(); //不提交
 M()->rollback();

10: 다양한 루프(forech….) 루프에서 벗어나 return, break, continue 차이점

break는 루프를 완전히 끝내고 루프 본문에서 벗어나는 데 사용됩니다. 어떤 종류의 루프라도 루프 본문에서 중단이 발생하면 시스템은 루프를 완전히 종료하고 루프 이후 코드 실행을 시작합니다. break는 자신이 위치한 루프를 종료할 뿐만 아니라 외부 루프도 종료할 수 있습니다. 이때 break 직후에 라벨을 따라야 합니다. 이 라벨은 외부 루프를 식별하는 데 사용됩니다. Java의 레이블은 식별자 뒤에 영어 콜론(:)이 오는 것입니다. 그리고 루프 문 앞에 배치해야 효과적입니다.

parent::memaddress($list['province'],$list['city'],$list['district']);//parent::是父的意思,memaddress是父类中的函数

continue의 기능은 break와 다소 유사합니다. 차이점은 continue는 이 주기만 종료하고 다음 주기를 시작한다는 것입니다. 그리고 break는 루프를 완전히 종료합니다.

distanct(true)
例:
$data=M(&#39;user&#39;)->distanct(true)->field(&#39;score&#39;)->order(&#39;score asc&#39;)->select();

return 키워드는 루프를 벗어나는 데 특별히 사용되지 않습니다. return의 기능은 메서드를 종료하는 것입니다. 루프 본문 내에서 return 문이 실행되면 return 문은 메서드를 종료하고 루프는 자연스럽게 종료됩니다. 계속 및 중단과 달리 return은 이 반환이 포함된 루프 수준 수에 관계없이 전체 메서드를 직접 종료합니다.

$newM->where(&#39;id=&#39;.$cid)->setInc(&#39;browser&#39;,1); //browser字段值自增1,setDec是自减

관련 권장 사항:


php에서 유사한 문자열을 쿼리하는 방법

php를 사용하여 mysql 테이블이 있는지 쿼리하는 방법 요약

thinkPHP 쿼리 방법 요약

위 내용은 ThinkPHP와 PHP는 몇 가지 쿼리 팁을 공유합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.