この記事では、主に ThinkPHP のクエリ ステートメントと関連するクエリの使用方法、およびクエリ条件としての配列やクエリのオブジェクト メソッドなどのテクニックを含む一般的なクエリ メソッドを例の形式で紹介します。必要な方は参照してください。
この記事の例では、ThinkPHP クエリ ステートメントと関連クエリの使用法について説明します。皆さんの参考に共有してください。詳細は次のとおりです。
thinkphp フレームワーク ページでは、SQL クエリ ステートメントを直接記述して、データベース クエリの読み取りおよび書き込み操作を実装できます。これを説明する例を次に示します。
通常のクエリの文字列クエリ条件に加えて、配列およびオブジェクトのクエリ条件もよく使用され、これらは基本的なクエリに必要です。
1. クエリ条件として配列を使用します。
$User = M("User"); //实例化User对象 $condition['name'] = 'thinkphp'; // 把查询条件传入查询方法 $User->where($condition)->select();
2. オブジェクト モードを使用してクエリを実行します。ここでは、stdClass 組み込みオブジェクトを例に挙げます。
$User = M("User"); // 实例化User对象 // 定义查询条件 $condition = new stdClass(); $condition->name = 'thinkphp'; // 查询name的值为thinkphp的记录 $User->where($condition)->select(); // 上面的查询条件等同于 where('name="thinkphp"') 使用对象方式查询和使用数组查询的效果是相同的,并且是可 带where条件的普通查询
$user=M('user'); $list=$user->where('id>5 and id<9')->select(); $list=$user->where($data)->select();
$user=M('user'); $list=$user->where(array('username'=>'www.jb51.net'))->select(); $list=$user->where($data)->select();
$user=M('user'); $a=new stdClass(); $a->username='www.jb51.net; $list=$user->where($a)->select();
$M_shopping = M('Shops'); $M_product = M('Product'); $list_shops = $M_shopping->join('as shops left join hr_product as product on shops.product_id = product.p_id') ->field('product.p_id,product.p_name,shops.product_amount,shops.product_id') ->where("shops.user_cookie='".$_COOKIE['hr_think_userid']."'") ->group('shops.id') ->select();
$user=M('user'); $data['id']=array(array('gt',20),array('lt',23),'and'); $list=$user->where($data)->select();
$user=M('user'); $data['username']='pengyanjie'; $data['password']=array('eq','pengyanjie'); $data['id']=array('lt',30); $data['_logic']='or'; $list=$user->where($data)->select(); dump($list);
$user=M('user'); $data['username']=array('eq','pengyanjie'); $data['password']=array('like','p%'); $data['_logic']='or'; $where['_complex']=$where; $where['id']=array('lt',30); $list=$user->where($data)->select();
①以下は直接クエリです whereに条件を入れるので条件が書きやすくなります
$M_shopping = M('Shops'); $M_product = M('Product'); $M_proimg = M('Product_image'); $list_shops = $M_shopping->join('as shops left join hr_product as product on shops.product_id = product.p_id left join hr_product_image as productimgon productimg.p_id = product.p_id')->fiel('productimg.pi_url,product.p_id,product.p_name,shops.product_amount,shops.product_id,product.am_id, product.p_procolor,product.p_price,product_amount*p_price as totalone')->where("shops.user_cookie='".$_COOKIE['hr_think_userid']."'") ->group('shops.id')->select();
② 上記以外に配列メソッドもあります
$m_test = M("Product"); $productmeaage = $m_test->where("p_id='$proid'")->select();
ThinkPHP の関連付けモデル
以上がThinkPHP クエリ ステートメントと関連クエリの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。