Мой начальник попросил у меня отчет, и я не хочу делать много циклов, чтобы получить информацию, если я смогу сделать это в одном предложении Eloquent.У меня есть эта модель:
{
"id":1,
"persona_id":75,
"localidad_id":1,
"datos":{
"web":null,
"lider":{
"persona":"18"
},
"redes":{
"email":null
},
"activa":"true",
"nombre":"Comisión Ambiental Local - Usaquén",
"asistente":"true",
"secretaria":"true"
},
"created_at":"2018-06-15 20:01:40",
"updated_at":"2018-11-02 20:37:02"
}
Модель называется Instancia
и имеет поле Json с именем datos
, которое приводится к массиву каждый раз, когда модель создается с использованием защищенного атрибута $casts
..
Внутри этого массива datos
у меня есть ключ с именем lider
, а внутри этого - другой с именем persona
.Я хочу, если возможно, сгруппировать мою коллекцию по этому одному параметру persona
.
Я пробовал несколько подходов, но не сработал:
$instancias = Instancia::where( 'datos->lider->persona', '<>', null )->get()->groupBy( 'datos->lider' );
Эта коллекция возвращает всю коллекцию, теперь сгруппированную""
родителем.
$instancias = Instancia::where( 'datos->lider->persona', '<>', null )->get()groupBy( 'persona' );
Любая помощь будет оценена.