Измените ваши отношения на hasMany
public function posts()
{
return $this->hasMany('App\Post');
}
И убедитесь, что у пользователя действительно есть несколько сообщений, прикрепленных к базе данных
Также убедитесь, что в вашем * настроен внешний ключ posts
миграция
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->text('body');
$table->unsignedBigInteger('user_id');
// ---- Here ------
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->timestamps();
});
Вы можете использовать этот код для заполнения некоторых сообщений, чтобы протестировать
Route::get('/', function () {
App\User::first()->posts()->createMany([
['title' => 'Example Title', 'body' => 'Example Body'],
['title' => 'Another Title', 'body' => 'Another Body'],
]);
});
Теперь вы можете получить коллекцию сообщений для первого пользователя, подобного этому
Route::get('/posts', function () {
return App\User::first()->posts;
});
Надеюсь, это поможет