@miniven

Как правильно написать запрос к БД в laravel?

У меня выводится список объектов через foreach
У каждого объекта есть несколько фотографий, которые хранятся в другой таблице.
Мне нужно, чтобы при выведении списка объектов у каждого была первая фотография из относящихся к нему. Как я пытаюсь это сделать:

@foreach ($objects->sortBy('id') as $object)
				<div class="row">
					<div class="col-md-8 object_admin panel">
						@if (count($photos) != 0)
							<div class="col-md-2 object_admin__image">
								<img src="{{ $photos->where('objects_model_id', $object->id)->first()->photo_path }}" alt="Фотография объекта">
							</div>
						@endif
						<div class="col-md-6">
							<span class="object_admin__price">Цена: {{ $object->object_price }}</span>
							<span class="object_admin__space">Площадь: {{ $object->object_space }}</span>
						</div>
						<div class="col-md-4 controls">
							<ul class="controls__list">
								<li class="controls__item"><a href="/object_{{ $object->id }}" class="btn btn-default">Редактировать</a></li>
								<li class="controls__item"><a href="/delete_obj_{{ $object->id }}" class="btn btn-default">Удалить</a></li>
							</ul>
						</div>

						@if (!empty($object->object_description))
							<div class="col-xs-12 object_admin__description">
								{{ $object->object_description }}
							</div>
						@endif
					</div>
				</div>
			@endforeach


Как нужно это сделать правильно?

Тут момент еще такой, что если вместо $object->id я подставлю просто число, то все работает
  • Вопрос задан
  • 287 просмотров
Пригласить эксперта
Ответы на вопрос 1
DJZT
@DJZT
Laravel - code for you
Сделай связь между Photo и Objects моделями. Один ко многим будет
Objects

public function photos(){
return $this->hasMany(Photo::class);
}


А вообще читайте документацию Eloquent отношения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы