微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Yii2 – 这对执行查询有什么影响吗?如果是的话

我将在yii2中执行以下查询.

$result = MyModel::find()->where(['res_model'=>$res_model])->all();

上面的查询和这一个查询有什么区别:

$result = MyModel::find()->where( 'res_model = :res_model',[
                    ':res_model' => $res_model] )->all();

两者都运行良好,但在性能和可用性方面都有点混乱.
请问有谁可以澄清这些吗?

解决方法:

将执行相同的查询.
如果您有多个key = value条件,则第一个版本很有用.
如果您需要执行更复杂的查询,可以使用第二个版本.像这样的东西

$result = MyModel::find()->where('some_field = (select max(date) from another_table where another_field=:param)',['param' => $param])->all();

性能和安全性是一样的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐