yii2 - 使用 yii\db\Query 时为值添加前缀
问题描述
在使用数据库查询从数据库中获取数据时,有没有办法为值添加前缀?我以 var 为例向您展示了我想要的样子。
$query = (new \yii\db\Query())->select(['name' , 'product_image."$prefix"' ])->from('products');
假设我想在每个图像路径之后添加一个前缀_250x250
,所以最终输出将是pathToImage_250x250
or uploads/pathToImage_250x250
。
解决方案
您可以使用yii\db\Expression
创建更高级的选择。例如对于 MySQL,您可以CONCAT()
为此使用函数:
$query = (new \yii\db\Query())
->select([
'name',
'product_image' => \yii\db\Expression('CONCAT(product_image, :suffix)', [
':suffix' => '_250x250',
]),
])
->from('products');
推荐阅读
- javascript - jQuery UI Datepicker 设置区域不起作用
- scala - Scala - 与自己的类型(字符串)和未来的类型不匹配问题
- mysql - 保留原表mysql的同时唯一join
- java - 扫描仪和方法的Java异常问题
- jsf - 在 JSF 自定义组件上添加 onclick 事件
- python - 用 Pandas 扁平化父子关系
- sql - 我必须提取诸如大多数员工是哪一年加入公司的信息?显示员工的年份和人数
- c# - .Net Core(EF Core)中多对多关系的最佳解决方案是什么?
- if-statement - Google Apps Scripts If 函数不跳过空值的行
- ruby-on-rails - 嵌套参数不适用于 Pundit