개요
공식 매뉴얼은 상대적으로 어디에 대한 소개가 적기 때문에, 모두가 알아보고 확인할 수 있도록 제가 직접 정리하고 싶습니다. 이번 글에서는 where 메소드의 and, or, between, in, like의 사용법과 예를 자세히 소개하겠습니다.
그리고
// 我们要查询id大于1并且小于3的数据 $userInfo = User::find()->where(['and' , 'id > 1' , 'id < 3'])->all(); // 或者用以下方式,更为安全 $userInfo = User::find()->where(['and' , ['>' , 'id' , 1] , ['<' , 'id' , 3]])->all(); // 往往我们会处理比这更复杂的sql // 假如我们要查询name是王五 并且 id大于1或者id小于3的数据 $userInfo = User::find()->where( ['and' , ['=' , 'name' , '王五'] , ['or' , ['=' , 'id' , 1] , ['=' , 'id' , 3] ] ])->asArray()->all(); // 注:asArray()方法会将数据以数组的方式显示
또는
// 我们要查询id等于1或者id等于3的数据 $userInfo = User::find()->where(['or' , 'id = 1' , 'id = 3'])->all(); // 我们同样可以使用以下方式 $userInfo = User::find()->where(['or' , ['=' , 'id' , 1] , ['=' , 'id' , 3]])->all(); // 假如我们要查询id在4,8,9范围内 或者 id在1,2,3范围内呢? $userInfo = User::find()->where(['or' , ['id' => [4,8,9]] , ['id' => [1,2,3]]])->all();
사이
// 我们要查询id在1到10的范围之内 $userInfo = User::find()->where(['between' , 'id' , 1 , 10])->all();
// 我们要查询id在1、2、3的范围内 $userInfo = User::find()->where(['in' , 'id' , [1,2,3]])->all();
좋아요
// 我们要查询name中包含“张”这个字符的数据 $userInfo = User::find()->where(['like' , 'name' , '张'])->all(); // 我们假如要通配name中包含“张”这个字符,而且还得包含“三”这个字符 $userInfo = User::find()->where(['like' , 'name' , ['张' , '三']])->all(); // 我们假如只需要通配左边即可 $userInfo = User::find()->where(['like' , 'name' , '%三' , false])->all(); // 所以,右边也是同样
이상은 Yii2의 where 매개변수 추가, 삭제, 수정, 쿼리에 대해 편집자가 소개한 관련 지식입니다. 궁금한 점이 있으시면 남겨주세요. 나에게 메시지를 보내면 편집자가 시간에 맞춰 답변을 드릴 것입니다. 또한 Script House 웹사이트를 지원해 주시는 모든 분들께 감사의 말씀을 전하고 싶습니다!