У меня есть две таблицы сообщений и фотографий. Каждый пост имеет 5 фотографий. Я хочу перечислить в каждом сообщении одну фотографию (аватарку), первое изображение.
$published_post = Post::where('created_by',auth()->user()->id)
->where('status','published')
->get();
$photo = Photo::where('post',$published_post->id)->get();
Эти два дают мне две разные коллекции. Как я могу добавить первую фотографию определенного сообщения в его массив, чтобы в поле зрения я мог отображать, используя цикл foreach.
Вот как я хочу видеть:
@foreach($published_post as $item)
{{ $item->title }}
{{ $item->profile_photo }}
@endforeach
Я пытался положить и нажать, но, похоже, не работает. Не уверен, как именно мы добавляем новую пару ключ-значение к объекту.
Две мои модели:
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->timestamps();
});
Schema::create('photos', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('image');
$table->integer('post');
$table->timestamps();
});
class Post extends Model
{
protected $table = 'posts';
}
class Photo extends Model
{
protected $table = 'photos';
protected $fillable = ['image', 'post'];
}