Типы номеров в раскрывающемся списке отображаются пустыми [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Типы номеров в раскрывающемся списке отображаются пустыми [закрыто]

Сообщение Anonymous »

Я начинающий программист Laravel. Когда я показываю страницу сведений об отеле, раскрывающийся список типов номеров отображается пустым. Я протестировал его с помощью dd(), и он показывает значение null. Ниже приведен код, который я пробовал. В чем проблема? Может ли кто-нибудь помочь мне решить эту проблему?
Модель отеля

Код: Выделить всё

class Hotel extends Model
{
protected $table = 'hotels';
protected $primaryKey = 'id';
protected $fillable = ['name', 'image', 'description', 'status'];

public function rooms()
{
return $this->hasMany(Room::class, 'hotel_id', 'id'); // Correctly references the rooms table
}

use HasFactory;
}
Модель помещения

Код: Выделить всё

class Room extends Model
{
protected $table = 'rooms';
protected $primaryKey = 'id';
protected $fillable = ['name', 'description', 'qty', 'hotel_id', 'status'];

public function hotel()
{
return $this->belongsTo(Hotel::class, 'hotel_id', 'id'); // Assumes 'id' is the primary key of 'hotels'
}

public function images()
{
return $this->hasMany(RoomImage::class);
}

public function roomType()
{
return $this->hasMany(RoomType::class); // Ensure a room_type_id column exists
}

use HasFactory;
}
Модель RoomType

Код: Выделить всё

class RoomType extends Model
{
protected $table = 'room_types';
protected $primaryKey = 'id';
protected $fillable = ['name', 'room_id', 'price'];

public function room()
{
return $this->belongsTo(Room::class);
}

use HasFactory;
}
Модель RoomImage

Код: Выделить всё

class RoomImage extends Model
{
use HasFactory;

protected $table = 'room_images';
protected $primaryKey = 'id';
protected $fillable = ['room_id', 'image_path'];

public function rooms()
{
return $this->belongsTo(Room::class);
}
}
HomeController

Код: Выделить всё

public function showdetails($id)
{
$hotel = Hotel::with([
'rooms.images',       // Fetch related images for each room
'rooms.roomType'      // Fetch related room type for each room
])->where('id', $id)->get();

if ($hotel->isEmpty()) {
abort(404, 'Hotel not found.');
}

return view('showdetails', ['hotel' => $hotel->first()]);
}
showdetails.blade.php

Код: Выделить всё

{{ $hotel->name }}
{{ $hotel->description }}

Rooms

@csrf

Select Room Type:

Select Type
@foreach($hotel->rooms as $room)
@if ($room->roomTypes)
@foreach($room->roomTypes as $roomType)

{{ $roomType->name }} - ${{ $roomType->price }}

@endforeach
@else
No Room Types Available
@endif
@endforeach


Quantity:


Price per Room Type: $0.00
Total Price: $0.00

Book Now


Room Images
@foreach($hotel->rooms as $room)
[h4]{{ $room->name }}[/h4]

@foreach($room->images as $image)
[img]{{ asset([/img]
image_path) }}" alt="Room Image" width="100">
@endforeach

@endforeach
Изображение


Подробнее здесь: https://stackoverflow.com/questions/792 ... y-as-blank
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»