2019-09-02 09:30:52 219次浏览 5条回答 0 悬赏 10 金钱

大家好,请问一下如何把这个查询结果变成数组?谢谢

$keyword_name_search = KeywordsModel::findAll(['keyword_name'=>$model->keyword_name]);
亿速云
  • 回答于 2019-09-02 10:02 举报

    $keyword_name_search = KeywordsModel::find()->andFilterWhere(['keyword_name'=>$model->keyword_name])->asArray()->all();

    , 觉得很赞
  • 回答于 2019-09-05 17:44 举报
    $res = array_map(function ($v) {
        return $v->toArray();
    }, KeywordsModel::findAll(['keyword_name'=>$model->keyword_name]));
    

    一般并不需要转成数组。

    2 条回复
    回复于 2019-09-06 09:49 回复

    不转数组可以直接foreach循环么?

    回复于 2019-09-06 14:16 回复

    KeywordsModel::findAll(['keyword_name'=>$model->keyword_name])) 的返回值本身就是一个数组,每个元素是 KeywordsModel

  • 回答于 2019-09-07 15:11 举报

    $keyword_name_search=yii\helpers\ArrayHelper::toArray($keyword_name_search);
    使用这个方法,可以同时保留你在model做的filed 处理

  • 回答于 2019-09-16 16:12 举报

    $keyword_name_search = KeywordsModel::find()->where(['keyword_name'=>$model->keyword_name])->isArray()->all();

  • 回答于 2019-09-19 17:58 举报

    本身就是数组

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

PHP学院的中学生

注册时间:2018-10-23
最后登录:11小时前
在线时长:36小时20分
  • 粉丝7
  • 金钱460
  • 威望10
  • 积分920

热门问题