SQLSTATE [42S02]: Базовая таблица или представление не найдены: 1146 Таблица «seaurchin.availableroom» не существует (42S02) - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь получить доступную комнату на указанную дату клиентом.До сих пор я пытался использовать соединение и оставил соединение, чтобы получить доступную комнату.

Контроллер

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\RedirectResponse;
use App\client;
use App\reservation;
use App\booking;
use App\availableRoom;
use App\roomType;
use App\amenities;
use App\payment;
use App\roomReserved;
use App\Mail\ReservationDetail;
use Carbon\Carbon;
class ReservationController extends Controller
{

    private $_availablerooms;

    /**
     * ReservationController constructor.
     */
    public function __construct()
    {
        $this->_availablerooms = new availableRoom();
    }


    /**
     * @param Request $request
     * @return mixed
     */
    public function checkAvailable(Request $request){
        $checkInDate = date("d-m-Y", strtotime($request->start_date));
        $checkOutDate = date("d-m-Y", strtotime($request->end_date));

        $availableRooms = $this->_availablerooms->from('availableRoom as r')
            ->selectRaw('*,r.roomDoorNum, r.isAvailable, rt.title as roomType,res.roomReservedID')
            ->join('roomtype as rt','rt.roomTypeID','=','r.roomTypeID')
            ->leftjoin('roomReserved as rr','rr.roomID','=','r.roomID')
            ->leftjoin('reservation as res','res.roomReservedID','=', DB::raw('rr.roomReservedID AND (res.reservationDate BETWEEN '."$checkInDate".' AND ' ."$checkOutDate". ' OR res.expiryDate BETWEEN '."$checkInDate".' AND ' ."$checkOutDate".')' ))
            ->get();

        return $availableRooms;
        //return view('rooms');lorem
    }



}

Проблема в том, что я получаю эту ошибку сейчас.

SQLSTATE [42S02]: Базовая таблица или представление не найдены: 1146 Таблица «seaurchin.availableroom» не существует (42S02)

availableRoom модель

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class availableRoom extends Model
{
    protected $primaryKey = 'roomID';
   protected $fillable = ['roomTypeID', 'roomDoorNum', 'isAvailable'];
    public function roomAmenity()
    {
        return $this->hasMany('App\roomAmenity');
    }
    public function roomType()
    {
        return $this->hasOne('App\roomType');
    }
    public function roomAsset()
    {
        return $this->hasMany('App\roomAsset');
    }
}

номер модели типа

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class roomType extends Model
{


    protected $primaryKey = 'roomTypeID';
    protected $fillable = ['title', 'nightRate', 'capacity', 'childrenAllowed', 'maxAdult', 'description'];
    public function availableRoom()
    {
        return $this->hasMany('App\availableRoom');
    }

}

номер зарезервированной модели

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class roomReserved extends Model
{
  protected $primaryKey = 'roomReservedID';
  protected $fillable = ['reservationID', 'roomID'];
  public function reservation()
  {
      return $this->hasOne('App\Reservation');
  }
}

модель бронирования

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class reservation extends Model
{
  protected $primaryKey = 'reservationID';

 protected $fillable = ['reservationDate', 'expiryDate', 'paymentReceived', 'status', 'actualCheckIn', 'actualCheckOut', 'roomReservedID'];
  public function booking()
  {
      return $this->hasOne('App\Booking');
  }
  public function roomReserved()
  {
      return $this->hasMany('App\roomReserved');
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...