Во-первых, foreach
переопределяет $id
в каждой итерации, поэтому, наконец, значение $id
равно $property_id
значению последнего элемента из массива $image
.
Вам необходимо определить отношения.
В PropertyUser
добавлении класса:
public function images() {
return $this->belongsTo(Image::class, 'property_id');
}
Затем в вашем методе create
в контроллере:
public function create(Request $request) {
// use direction query parameter to define asc or desc sorting
$order_direction = $request->query('direction');
$property_user = PropertyUser::where('user_id', '=', Auth::user()->id)
->with(['images' => function($query) use ($order_direction) {
$query->orderBy('id', $order_direction)
})->get();
// here you can access an array with associated images:
$images = $property_user->images;
return view('settings.photos', ['image_array' => $images]);
}
Ваша ссылка на отсортированные изображения должна выглядеть следующим образом:<a href="/create.html?direction=asc">Sort asc</a>