Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте.
Не получается вывести не посты, не производителей с ленивой загрузкой и без нее. Связь использую 1 к многим и многие к многим.
// BrandsController
/**
* Show brand page
*
* @param $slug
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function showBrand($slug)
{
$brand = Brand::with('cars')->FindBySlug($slug);
return view('frontend.sections.brand.show', compact('brand'));
}
// view
@foreach($brand->car as $car)
<div class="col-md-3 col-lg-3">
<div class="text-center">
<a href="{{ url('cars/'.$car->slug) }}">
<img src="{{ $car->image }}" />
</a>
</div>
</div>
@endforeach
Многие ко многим
// CarController
/**
* Show car
*
* @param $slug
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function showCar($slug)
{
$car = Car::FindBySlug($slug);
return view('frontend.sections.car.show', compact('car'));
}
// view
@foreach($car->filters as $filter)
{{ $filter->name
@endforeach
В обоих случаях выходит null, хотя в базу все добавилось.
id product_id filter_id
1 29 1
функция FindBySlug
/**
* Find by slug
*
* @param $query
* @param $slug
* @return mixed
*/
public function scopeFindBySlug($query,$slug)
{
return $query->whereSlug($slug)->firstOrFail();
}
Не в сети
Find как я знаю это получение одной записи. Так зачем использовать цикл?
Не в сети
А все правильно это я тормознул.
Попробуй так
$brand = Brand::with('cars')->where('slug', '=', '$slug')->first()
Не в сети
А все правильно это я тормознул.
Попробуй так
$brand = Brand::with('cars')->where('slug', '=', '$slug')->first()
Проблема давно решилась. Забыл чето про вопрос этот. Мой косяк был, вместо hasMany написал belongsTo
Не в сети
Страницы 1