Красноречивый 5.7 Отношения возвращаются пустыми - PullRequest
0 голосов
/ 17 ноября 2018

Я застрял на этом этапе, я протестировал много вещей и не вижу, что происходит, мне нужно создать сводку резервирования, но я получаю пустые данные из отношений, в которых находятся мои таблицы:
res_reservations key = idReservation
res_reservation_rooms ключ = saver

отношение в нижней таблице равно idReservation

Класс резервирования Модель

namespace Models\OBKE;
use Illuminate\Database\Eloquent\Model;
class Reservation extends Model{
      public $timestamps    = true;
      const CREATED_AT      = 'createdDate';
      const UPDATED_AT      = 'updatedDate';
      public $incrementing  = false;  
      protected $table      = "res_reservations";
      protected $primaryKey = "idReservation";
      protected $fillable = ["idReservation",
                             "resortName",
                             "programName",
                             "contract",
                             "lead",
                             "booker",
                             "total",
                             "idStatus",
                             "createdBy",
                             "updatedBy",
                             "currency",
                             "front",
                             "discount",
                             "pr_code"];

      public function rooms(){
        return $this->hasMany('\Models\OBKE\Reservation\Rooms',"idReservation","idReservation");
      }
 }

Резервирование номеров модели класса

namespace Models\OBKE\Reservation;
use Illuminate\Database\Eloquent\Model;
class Rooms extends Model{

  public $timestamps = false;
  protected $table = "res_reservation_rooms";
  protected $primaryKey = "saver";
  protected $fillable=  [
    "idReservation",
    "row",
    "date",
    "idResort",
    "resortName",
    "idProgram",
    "programName",
    "idRoom",
    "roomName",
    "adults",
    "adultsRate",
    "juniors",
    "juniorsRate",
    "kids",
    "kidsRate",
    "infants",
    "infantsRate",
    "total",
    "discount"
  ];

  public function rooms(){
    return $this->belongsTo('\Models\OBKE\Reservation',"idReservation","idReservation");
  }
}

я пытался вызвать то же самое, что и другие отношения, но все еще возвращаю массив пустых номеров

мой вопрос о том, что я сделал неправильно

1 Ответ

0 голосов
/ 17 ноября 2018

Это выглядит сбивающим с толку, я предполагаю, что у вас есть комнаты, каждая комната связана с несколькими резервациями.

В идеале у нас будет две модели,

Модели \ OBKE \ Номера

namespace Models\OBKE;
use Illuminate\Database\Eloquent\Model;
class Rooms extends Model{
    public function reservations(){
       return $this->hasMany('\Models\OBKE\Reservation',"idReservation","idReservation");
    }
}

Модели \ OBKE \ Reservation

namespace Models\OBKE;
    use Illuminate\Database\Eloquent\Model;
    class Reservation extends Model{
        public function room(){
           return $this-> belongsTo('\Models\OBKE\Rooms',"idReservation","idReservation");
        }
    }

Теперь

Models \ OBKE \ Rooms :: get (1) предоставляет вам объект одной комнаты

Models \ OBKE \ Rooms :: get (1) -> reservations, предоставляет массив объектов резервирования, связанных с комнатой

...