Я не могу получить данные из связанной таблицы.
Есть 3 модели (таблицы).
- Пользователь
- Chirp (имеет 'user_id' в качестве внешнего ключа)
- Нажмите (имеет «chirp_id» в качестве внешнего ключа)
, затем я хочу получить данные User & Click из модели Chirp. Итак, я написал:
Chirp. php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Chirp extends Model
{
public $timestamps = false;
protected $guarded = [];
public function user()
{
return $this->belongsTo('App\User');
}
public function clicks()
{
return $this->hasMany('App\Click');
}
}
HomeController. php
class HomeController extends Controller
{
public function index()
{
$chirps = Chirp::with(['user','clicks'])
->orderBy('posted_at', 'desc')
->get();
return view('home', ['chirps' => $chirps]);
}
}
home.blade. php
@foreach($chirps as $chirp)
<div>
<div>by
<b>{{ $chirp->user->name }}</b>
on
<small>{{ $chirp->posted_at }}</small>
</div>
<div>
<p>{{ $chirp->text }}</p>
<p>{{ $chirp->click->ip_address }}</p>
</div>
</div>
@endforeach
at home.blade. php, {{ $chirp->click->ip_address }}
невозможно получить и получить ошибку "Facade \ Ignition \ Exceptions \ ViewException При попытке получить свойство 'ip_address' необъекта"
Однако, если я удаляю его, я могу правильно получить {{ $chirp->user->name }}
.
Почему я не могу получить модель Click из модели Chirp, хотя я могу получить модель пользователя из модели Chirp?
Спасибо вы.