У меня отношения, которые ведут себя странно.Если я получу результаты и dd()
, у него будут правильные данные.Однако, если я запускаю коллекцию через цикл foreach
, это как будто связь исчезает.
В таблице users
есть поле с именем referred_by
, в котором хранится идентификатор пользователя, который направил пользователя,В моем случае я ищу всех новых пользователей, которые были переданы пользователем с идентификатором 3
.
Вот соотношение в User.php
public function referrer()
{
return $this->belongsTo(User::class, 'referred_by');
}
Воткод, который возвращает интересные результаты
$users = User::where('referred_by', 3)
->with('referrer')
->get();
// doing dd() here returns a collection with full referrer relationship;
// the returned data is as expected
dd($users);
foreach($users as $user)
{
// dd($user) here returns the relationship, as it should
// dd($user->referrer) here returns null, like the relationship doesn't exist
}