У меня есть две основные модели таблиц:
Пользователь
- ID
- ID_NUMBER
- Адрес электронной почты
Адрес
Моя текущая модель:
public function addresses() {
return $this->hasMany('App\Address');
}
Мой текущий адрес Модель:
public function user() {
return $this->belongsToMany('App\User');
}
Я пытаюсь показать почтовый индекс пользователя в режиме блэйда
<div class="form-group col-md-4">
<label for="id_number">Id Number</label>
<input name="id_number" type="text" class="form-control" id="" value="{{ $user->id_number }}" required>
</div>
<div class="form-group col-md-4">
<label for="email">E-mail</label>
<input name="email" type="email" class="form-control" id="" value="{{ $user->email }}" required>
</div>
<div class="form-group col-md-4">
<label for="zip_code">Zip Code</label>
<input name="zip_code" type="number" class="form-control" id="" value="{{ $user->addresses()->zip_code }}">
</div>
Похоже, что только Id Number и E-mail показывают данные правильно, я не могу заставить zip_code показывать свои данные: value="{{ $user->addresses()->zip_code }}"
Я что-то упустил?
EDIT
Мой контроллер кстати:
$users = User::where('deleted_at', '=', NULL)->paginate(5);
return view('member.home')->with(compact('users'));
Мой хороший друг предложил сделать что-то вроде этого:
@foreach ($users as $user)
@foreach ($users->addresses()->get() as $address)
{{ $address->zip_code }}
@endforeach
@endforeach
И это работает просто отлично. Буду очень признателен, если кто-нибудь предоставит для этого другие методы.