作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Laravel的where
和whereLoose
方法有什么区别?
该文档说:
where()
:The where method uses strict comparisons when checking item values. Use the whereLoose method to filter using "loose" comparisons.
whereLoose()
:This method has the same signature as the where method; however, all values are compared using "loose" comparisons.
最佳答案
where
方法使用严格的比较(===
),这意味着它还会检查值的类型。例如,如果一个是字符串,另一个是数字,则永远不会匹配。whereLoose
方法使用松散比较(==
),这意味着它不会检查值的类型。例如,如果一个是字符串,另一个是数字,则如果它们的值相同,则仍将匹配。
$collection = collect([['price' => 100], ['price' => 200]]);
$collection->where('price', '100'); // []
$collection->whereLoose('price', '100'); // [['price' => 100]]
where
方法现在将使用松散比较,并且
whereLoose
方法将被删除。要使用严格相等,您将
===
作为第二个参数传递:
$collection = collect([['price' => 100], ['price' => 200]]);
$collection->where('price', '100'); // [['price' => 100]]
$collection->where('price', '===', '100'); // []
关于Laravel where()vs whereLoose()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33697274/
Laravel的where和whereLoose方法有什么区别? 该文档说: where(): The where method uses strict comparisons when checki
我是一名优秀的程序员,十分优秀!