2019-10-31 13:53:02 1527次浏览 2条回答 0 悬赏 10 金钱

我想获取以id为键,name为值的一维数组,下面这样写是不可以的

$post = UAccount::find()
->select('name, id')
->indexBy('id')->asArray()
->column();

看官方的文档上说只能和 all() 一起用,测试是可以的。
但是看魏曦的视频里这样是可以的,

<?= $form->field($model,'status')
    ->dropDownList(Poststatus::find()
        ->select(['name','id'])
        ->orderBy('position')
        ->indexBy('id')
        ->column(),
    ['prompt'=>'请选择状态']);
?>

很困惑,不知道为什么?
看文档里 indexBy 方法是先取出数据,在重建索引,所以 by 值一定要查询出来

  • 回答于 2019-10-31 14:56 举报

    关于你的问题的 一个困惑

    下面这样写是不可以的 。。。。。。看官方的文档上说只能和 all() 一起用,测试是可以的。

    到底 可不可以?
    不可以的话 说具体现象,不要用 不能/不行/不可以 这样的字眼,用 程序员语言,描述 具体的现象

  • 回答于 2019-11-11 10:13 举报

    你没理解column()和all()
    all()-所有数据
    one()-第一行数据
    column()-第一列数据

您需要登录后才可以回答。登录 | 立即注册
皎然
CEO

皎然 南京

注册时间:2017-09-09
最后登录:2024-03-24
在线时长:59小时14分
  • 粉丝11
  • 金钱17190
  • 威望10
  • 积分17880

热门问题