2017-04-07 1 views
0

함수에서 반환 된 결과를 다른 함수에 사용하려고합니다. 나는 그것이 null를 돌려 dd($availableRoomsRet) 때,다른 함수에서 변수에 액세스 LARAVEL

public function returnAddReservation(){ 
    $availableRoomsRet = $this->availableRooms(); 
    $mealSupplement = new Meal; 
    $accommodationSupplement = new AccommodationSupplement; 

    $accommodationSupplements = $accommodationSupplement::where('status', 1) 
     ->orderBy('name', 'asc') 
     ->get(); 
    $mealSupplements = $mealSupplement::where('status', 1) 
     ->orderBy('name', 'asc') 
     ->get(); 
    return view('addReservation', [ 
     'availableRooms' => $availableRoomsRet, 
     'accommodationSupplements' => $accommodationSupplements, 
     'mealSupplements' => $mealSupplements 
    ]); 
} 

첫 번째 함수는 독립적으로 실행되는 경우 올바른 결과를 반환하지만 여기

public function availableRooms(){ 
    if(isset($_POST['selectedDate'])){ 
     $checkInDateReceived = str_replace('/', '-', $_POST['selectedDate']); 
     $checkInDate = date('Y-m-d', strtotime($checkInDateReceived)); 
     $availableRooms = DB::table('rooms') 
      ->leftJoin('reservations', function ($secondJoin) use($checkInDate) { 
       $secondJoin->where('reservations.checkout_date', '<', $checkInDate); 
      }) 
      ->leftJoin('reservation_room_rel', function ($firstJoin) { 
       $firstJoin 
        ->on('reservation_room_rel.room_id', '=', 'rooms.id') 
        ->on('reservation_room_rel.reservation_id', '=', 'reservations.id'); 
      }) 
      ->where([ 
       ['rooms.status', '=', 1] 
      ]) 
      ->whereNull('reservation_room_rel.room_id') 
      ->get(); 
     return $availableRooms; 
    } 
} 

그리고 내 두 번째 기능은 다음과 같습니다 여기 내 첫 번째 기능입니다. $availableRoomspublic function availableRooms()에서 public function returnAddReservation()으로 올바르게 액세스하는 방법을 알려주세요. 감사합니다.

+0

'$ this-> availableRooms()'의'var_dump' 결과가 무엇을 수행하여 그것을 시도 할 수 있습니까? 그것은 NULL입니까? – Chester

+0

예, null입니다 –

+0

아마도 검색어가 실패했습니다. 검색 결과가 포함 된 검색어인지 확인하십시오. – Chester

답변

0

동일한 클래스에있는 한 Laravel과 관련된 아무런 가치가 없어야합니다. PHP.

그렇게

public function availableRooms(){ 
    $availableRooms = 15; 
    return $availableRooms; 
} 

public function returnAddReservation(){ 
    var_dump('inside class'. $this->availableRooms()); 
    $availableRoomsRet = $this->availableRooms(); 
    return $availableRoomsRet; 
} 

public function thirdfunction(){ 
    var_dump('inside third function' . $this->returnAddReservation()); 
} 
관련 문제