laravel查询数据库 两个字段相等查询方法
发布时间:2019-12-08, 17:50:33 分类:PHP | 编辑 off 网址 | 辅助
图集1/1
正文 537字数 2,054,408阅读
1.在laravel查询中,我们需要查找两个字段相等的值,这种方法不行$data = DB::connection('mysql_branch')->table('branches')
->where('is_usable',1)
->whereRaw('money','amount')->get();
Run code
Cut to clipboard
2.这种也不行
$first_agent = DB::connection('mysql_branch')->table('branches')
->where('is_usable',1)
->whereRaw('money','=','amount')->get();
Run code
Cut to clipboard
3.需要这样查询
$first_agent = DB::connection('mysql_branch')->table('branches')
->where('is_usable',1)
->whereRaw('money=amount')->get();
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 10 条评论 »
使用array_merge()函数 对结果中索引进行重新排序
array_merge()函数传递给数组键的数字索引在返回的数组中从零开始重新编号
<?php header("content-type:text/html;charset=utf-8"); $x = array("0" => "red", "1" => "green","2" => "yellow"); $y = array("3" => "blue", "2" => "yellow","1" => " orange"); $z = array_merge($x, $y); // $x 与 $y 的联合 var_dump($z);
methods: { backTop() { document.body.scrollTop = 0 document.documentElement.scrollTop = 0 } } }
goUp(){ let nowTop = document.body.scrollTop || document.documentElement.scrollTop; // 获取当前滚动条位置 if (nowTop > 0) { window.requestAnimationFrame(this.goUp); window.scrollTo (0,nowTop - (nowTop/5)); } }
<Select ref="select"> this.$refs.select.setQuery('');
DB::enableQueryLog(); // 需要监控的sql查询代码段 // ... $queries = DB::getQueryLog(); dump($queries);
$生日 = strlen($身份证号)==15 ? ('19' . substr($身份证号, 6, 6)) : substr($身份证号, 6, 8); $性别 = substr($身份证号, (strlen($身份证号)==15 ? -2 : -1), 1) % 2 ? '男' : '女';
$str = "123456789"; echo substr($str , 0 , 3);//从左边第一位字符起截取3位字符:结果:123 echo substr($str , 3 , 3);//从左边第3位字符起截取3位字符:结果:456
$rest = substr("abcdef", -1); // 返回 "f" $rest = substr("abcdef", -2); // 返回 "ef" $rest = substr("abcdef", -3, 1); // 返回 "d"
<?php $rest = substr("abcdef", 0, -1); // 返回 "abcde" $rest = substr("abcdef", 2, -1); // 返回 "cde" $rest = substr("abcdef", 4, -4); // 返回 "" $rest = substr("abcdef", -3, -1); // 返回 "de" ?>
<?php echo substr('abcdef', 1); // bcdef echo substr('abcdef', 1, 3); // bcd echo substr('abcdef', 0, 4); // abcd echo substr('abcdef', 0, 8); // abcdef echo substr('abcdef', -1, 1); // f
// 访问字符串中的单个字符 // 也可以使用中括号 $string = 'abcdef'; echo $string[0]; // a echo $string[3]; // d echo $string[strlen($string)-1]; // f ?>
中文字符串的截取和获取长度 mb_substr() $str = '我abc是谁'; //utf-8编码的字符串 echo mb_substr($str, 0, 2, 'utf-8'); //输出 我a
$str = '我是谁'; //gbk编码的字符串 echo mb_substr($str, 0, 1, 'gbk'); //输出 我
$post = Post::where('category_id', $category_id) ->orderBy(\DB::raw('RAND()')) ->take(10) ->get();
str_pad(string,length,pad_string,pad_type) //参数 描述 string //必需。规定要填充的字符串。 length //必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。 pad_string //可选。规定供填充使用的字符串。默认是空白。 pad_type //可选。规定填充字符串的哪边。 //可能的值: STR_PAD_BOTH - //填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。 STR_PAD_LEFT - //填充字符串的左侧。 STR_PAD_RIGHT - //填充字符串的右侧。默认。
$num=128; $num=str_pad($num,4,"0",STR_PAD_LEFT); echo $num;
输出 0128
1->0001 56->0056 288->0288 1992->1992
<?php $a = array('test1','test2','test3','test4'); //获取数据随机key $key = array_rand($a,1); //输出随机内容 echo $a[$key];
<?php $a = array('test1','test2','test3','test4'); //重排 shuffle($a); echo $a[0];
$where[] = ['in'=>['id'=>$worker_order_u_id]];
数组转字符串
var a, b; a = new Array(0,1,2,3,4); b = a.join("-");
字符串转数组
var s = "abc,abcd,aaa"; ss = s.split(",");// 在每个逗号(,)处进行分解。
a = 'abc'; console.log(Array.prototype.slice.call(a)) //['a','b','c']
<button onclick="numbers.forEach(myFunction)">点我</button> <p id="demo"></p> <script> demoP = document.getElementById("demo"); var numbers = [4, 9, 16, 25]; function myFunction(item, index) { demoP.innerHTML = demoP.innerHTML + "index[" + index + "]: " + item + "<br>"; } </script>
implode 使用一个字符串将数组变成字符串 1 2 3 4 5 6 7 8 9 10 11 <br><?php $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone // Empty string when using an empty array: var_dump(implode('hello', array())); // string(0) "" ?>
<?php // 示例 1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 // 示例 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo $user; // foo echo $pass; // * ?>
这里如果字符串没有任何符号可以进行分割的话,就需要考虑别的方法了
str_split — 将字符串转换为数组
<?php $str = "Hello Friend"; $arr1 = str_split($str); $arr2 = str_split($str, 3); print_r($arr1); print_r($arr2); ?> 输出结果 Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d ) Array ( [0] => Hel [1] => lo [2] => Fri [3] => end )
如果不兼容的话,就只有考虑别的方法了,将字符串逐位进行打断,
这里有一个将字符串进行打断的手动的方法,是原来为了写日语半角的假名验证的一个方法
这里是一串对半角的假名的枚举 function kana_Perl($katakana){ $katakana_array = array( 1=>"ア",2=>"イ",3=>"ウ",4=>"エ",5=>"オ", 6=>"カ",7=>"キ",8=>"ク",9=>"ケ",10=>"コ", 11=>"サ",12=>"シ",13=>"ス",14=>"セ",15=>"ソ", 16=>"タ",17=>"チ",18=>"ツ",19=>"テ",20=>"ト", 21=>"ナ",22=>"ニ",23=>"ヌ",24=>"ネ",25=>"ノ", 26=>"ハ",27=>"ヒ",28=>"フ",29=>"ヘ",30=>"ホ", 31=>"マ",32=>"ミ",33=>"ム",34=>"メ",35=>"モ", 36=>"ヤ",37=>"ユ",38=>"ヨ", 39=>"ラ",40=>"リ",41=>"ル",42=>"レ",43=>"ロ", 44=>"ワ",45=>"ヲ",46=>"ン", 47=>"ァ",48=>"ィ",49=>"ゥ",50=>"ェ",51=>"ォ", 52=>"ャ",53=>"ュ",54=>"ョ",55=>"ッ",56=>"、", 57=>"。",58=>"ー",59=>"゙",60=>"゚" ); $check_result = array_search($katakana,$katakana_array); return $check_result; } 这是一段匹配的法则,注意这里是i +=2,因为一个文字占2位 function substr_cut($katakana){ $i_end = 2; $check_sucess = ""; for($i_start=0; $i_start < strlen($katakana); $i_start=$i_start+2){ $str_cut = substr($katakana,$i_start,$i_end); echo '$str_cut='.$str_cut.'<br>'; $check_sucess = kana_Perl($str_cut); if(!$check_sucess){ break; } } return $check_sucess; }
没有规律的数组转化为字符串
function substr_cut($katakana){ $i_end = 1; //打断位数长度,分清楚英文和中文 $check_sucess = array(); for($i_start=0; $i_start < strlen($katakana); $i_start=$i_start+1){ $str_cut = substr($katakana,$i_start,$i_end); $check_sucess[$i_start] = $str_cut; echo '$str_cut='.$str_cut.'<br>'; } return $check_sucess; }
例子 ['1','2','3'] => [1,2,3] 方法 ['1','2','3'].map(Number) // [1,2,3] ['1','2','3'].map((value)=>{ return parseInt(value) }) // [1,2,3] JSON.parse('[' + String(['1', '2', '3']) + ']') // [1,2,3] eval('[' + String(['1', '2', '3']) + ']') // [1,2,3]