Имеет типичный squeme с постом и комментариями, где пост имеет много комментариев, а комментарий принадлежит одному посту:
Модель поста:
public function comments(){
return $this->hasMany('App\Comment');
}
после миграции:
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
});
Модель комментариев:
public function Post(){
return $this->belongsTo('App/Post', 'id');
}
Миграция комментариев:
Schema::create('comments', function (Blueprint $table) {
$table->increments('id');
$table->date('date_comment');
$table->unsignedInteger('post_id')->nullable()->default(null);
$table->foreign('post_id')->references('id')->on('posts');
});
Я хотел бы использовать готовую загрузку в Laravel.
Например.Как я могу получить всех сообщений с его самым последним комментарием , используя нетерпеливую загрузку?
Я попробовал это:
$post = Post::with('comments:post_id, date_comment')->get();
Но вот так яполучить все комментарии.Любая помощь, пожалуйста?
С наилучшими пожеланиями
РЕДАКТИРОВАТЬ:
foreach заявление (Blade):
@foreach($posts as $post)
<td>{{ $post->name }}</a></td>
<td>
{{ !empty($post->comments[0]) ? $post->comments[0]->
date_comment : '' }}
</td>
@endforeach