У меня есть коллекция
$questions = ExaminationQuestion::where('question_set_id', $set->id)
->where('marks', array_flip($marks)['2 Marks'])
->inRandomOrder()
->get();
В ней есть предметы Aptitude, Chemistry, Math, English, Physics, хранящиеся как 0, 1, 2, 3, 4.
[
{
id: 1,
question_set_id: 1,
subject: 0,
},
{
id: 2,
question_set_id: 1,
subject: 0,
},
{
id: 1,
question_set_id: 1,
subject: 1,
},
{
id: 2,
question_set_id: 1,
subject: 1,
},
{
id: 1,
question_set_id: 1,
subject: 2,
},
{
id: 2,
question_set_id: 1,
subject: 2,
},
{
id: 1,
question_set_id: 1,
subject: 3,
},
{
id: 2,
question_set_id: 1,
subject: 3,
},
{
id: 2,
question_set_id: 1,
subject: 4,
},
{
id: 2,
question_set_id: 1,
subject: 4,
},
]
Iхотите отображать $ вопросы в случайном порядке, не перетасовывая каждый вопрос, а перетасовывая предметы.Как Отображение всех вопросов по математике в случайном порядке, затем отображение всех вопросов по физике в случайном порядке и так далее.Предметы могут быть перетасованы в любом порядке, но вопросы не должны перетасовываться, например, сначала отображать один вопрос о способностях, затем другой вопрос по английскому, а затем так далее.Он должен отображаться так или в любом порядке, но в соответствии с темой.
[
{
id: 1,
question_set_id: 1,
subject: 3,
},
{
id: 2,
question_set_id: 1,
subject: 3,
},
{
id: 1,
question_set_id: 1,
subject: 2,
},
{
id: 2,
question_set_id: 1,
subject: 2,
},
{
id: 1,
question_set_id: 1,
subject: 0,
},
{
id: 2,
question_set_id: 1,
subject: 0,
},
{
id: 1,
question_set_id: 1,
subject: 4,
},
{
id: 2,
question_set_id: 1,
subject: 4,
},
{
id: 2,
question_set_id: 1,
subject: 1,
},
{
id: 2,
question_set_id: 1,
subject: 1,
},
]