У меня есть запрос, в котором я возвращаю отношения один ко многим. Я ожидаю двух результатов с их отношениями.Первый результат возвращается правильно, но после первого результата я всегда получаю значение NULL
для моих данных отношений для каждого результата после первого.
Если я удаляю 1-ю запись в моей базе данных, 2-я становится первой и возвращается правильно.
Это мой запрос -
$groups = DataGroup::where('post_id', $post->id)->with('data.dataType')->get();
Отношения группы данных
public function data()
{
return $this->hasMany('App\Data', 'data_group_id');
}
Отношения данных
public function dataType()
{
return $this->belongsTo('App\DataTypes', 'id');
}
public function dataGroup()
{
return $this->belongsTo('App\DataGroup', 'id');
}
Отношения типа данных
public function data()
{
return $this->hasMany('App\Data', 'data_types_id');
}
Набор результатов (удалена другая информация для удобства чтения)
Collection {#259 ▼
#items: array:2 [▼
0 => Data {#272 ▼
#fillable: array:5 [▶]
#attributes: array:8 [▶]
#original: array:8 [▶]
#relations: array:1 [▼
"dataType" => DataTypes {#271 ▶}
]
}
1 => Data {#268 ▼
#fillable: array:5 [▶]
#attributes: array:8 [▶]
#original: array:8 [▶]
#relations: array:1 [▼
"dataType" => null
]
Таблица групп данных
---------------------
| id | post_id |
--------------------
| 1 | 2 |
--------------------
Таблица типов данных
---------------------
| id | label | name |
--------------------
| 1 | Text | text |
--------------------
Таблица данных
------------------------------------------------------------
| id | data_types_id | data_group_id | field_label | value |
------------------------------------------------------------
| 1 | 1 | 1 | Title | NULL |
------------------------------------------------------------
| 2 | 1 | 1 | Sub Heading | NULL |