2019-10-25 17:20:22 2732次浏览 2条回答 1 悬赏 10 金钱

大家好,请问一下 Yii 2.0 如何使用 FIND_IN_SET 查询?

$questionRows = (new Query())->select($showFields)
    ->from('activity_question')
    ->where(['activity_id' => $id])
    ->andWhere("find_in_set($fee_type,'fee_type')")
    //->andWhere(['fee_type'=>$fee_type])
    ->orderBy('sort ASC')
    ->all();

最佳答案

  • 箜篌恋风 发布于 2019-10-25 17:41 举报

    可参考这个

    use yii\db\Expression;
    $media_ids=[2,5,3]
    $media=Media::find()->where(['media_id'=>$media_ids])
        ->orderBy(new Expression('find_in_set(media_id,:id)'))
        ->addParams([':id'=>implode(',',$media_ids)])
        ->all();
    

    结果会按照 media_id 分别等于 2,5,3 显示

您需要登录后才可以回答。登录 | 立即注册
PHP学院的中学生
副总裁

PHP学院的中学生

注册时间:2018-10-23
最后登录:2024-04-07
在线时长:168小时1分
  • 粉丝29
  • 金钱4730
  • 威望30
  • 积分6710

热门问题