В моей таблице "студентов, есть поля 'Идентификатор', 'student_name', 'father_name' и 'класс', чтоКак создать набор результатов Yii2 по одному из атрибутов модели?
var_dump(Students::find()->All());
дает следующий результат
array (size=284)
0 =>
object(frontend\models\Students)[68]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=10)
'id' => int 1
'student_name' => string 'VATS' (length=5)
'father_name' => string 'KARAMJEET SINGH' (length=15)
'class' => string '1st' (length=3)
1 =>
object(frontend\models\Students)[68]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=10)
'id' => int 2
'student_name' => string 'VASHISHT' (length=5)
'father_name' => string 'PARAM KUMAR' (length=15)
'class' => string '1st' (length=3)
......................
......................
......................
I хотите использовать поле «класс» модели как индекс, например, ниже ... eg
1st =>
0=> 'id' => int 1
'student_name' => string 'VATS' (length=5)
'father_name' => string 'KARAMJEET SINGH' (length=15)
'class' => string '1st' (length=3)
1=> array (size=10)
'id' => int 2
'student_name' => string 'VASHISHT' (length=5)
'father_name' => string 'PARAM KUMAR' (length=15)
'class' => string '1st' (length=3)
......................
......................
Я попытался функция Arrayhelper::map($array,... , ..)
, также функция Arrayhelper::index(..)
. Кажется, что Arrayhelper::index($array, 'field_name_to_be_used_as_index')
выполняет эту работу, но дает только один результат для каждого типа класса. Как достичь массива в формате выше?
использования 'asArray()' с запросом для более упрощенного результата. –
@ RuslanBes, есть еще много элементов с разными значениями «класс», поданных как «1-й», «2-й» и т. Д., Поэтому я поставил .......... ........ ниже результатов. –
@InsaneSkull вы можете привести пример asArray –